使用xpath获取具有某个类的所有div的内容的正确语法是什么?我似乎得到了div,但我不知道如何获得他们的innerHTML。
$url = "http://www.vanityfair.com/politics/2012/10/michael-lewis-profile-barack-obama";
$ctx = stream_context_create(array('http'=> array('timeout' => 10)));
libxml_use_internal_errors(TRUE);
$num = 0;
if($html = @file_get_contents($url,false,$ctx)){
$doc = DOMDocument::loadHTML($html);
$xpath = new DOMXPath($doc);
foreach($xpath->query('//div[@class="page-display"]') as $div){
$num++;
echo "$num. ";
//????
echo "<br/>";
}
echo "<br/>FINISHED";
}else{
echo "FAIL";
}
答案 0 :(得分:7)
class =“page-display”div中没有HTML - 所以你根本不会得到任何东西。
你的意思是get class =“parbase cn_text”?
foreach($xpath->query('//div[@class="parbase cn_text"]') as $div){
$num++;
echo "$num. ";
//????
echo $div->textContent;
echo "<br/>";
}