使用 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";
}
最佳答案
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/>";
}
关于php xpath 获取带有类的div 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12522465/