<div style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;">innertext</div>
Jow can I access innertext of divs not having class or id but span using simple html dom php parser? Thanks.
<div style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;">innertext</div>
Jow can I access innertext of divs not having class or id but span using simple html dom php parser? Thanks.
If the styles are consistent, then you can loop over all divs in the document and filter them by style.
var divs = document.getElementsById("div");
for (var i = 0; i < divs.length; i++) {
var div = divs[i];
// skip the current div if its styles are wrong
if (div.style.cssFloat !== "left"
|| div.style.marginTop !== "10px"
|| div.style.fontFamily !== "Verdana"
|| div.style.fontSize !== "13px"
|| div.style.color !== "#404040") continue;
var text = div.innerText || div.textContent;
// do something with text
}
You may use the content of style tag if no id or class is given there like:
include('simple_html_dom.php');
$html = file_get_html('http://www.mysite.com/');
foreach($html->find('div[style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;"]') as $e)
echo $e->innertext;
You could probably try to match some of their parents (which have class or id set), then traverse the DOM to the child you want.
Thanks to all. I depends on simple_html_dom too much, Ben Blank give me a good way.
And I also tried php regular-expression to match the div by myself.
preg_match_all('/<div.*(style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;").*>([\d\D]*)<\/div>/iU',$html,$match);
print_r($match);