php xpath 获取带有类的div 的内容

标签 php xpath domdocument

使用 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/

相关文章:

java - 如何用Solr管理 "paging"?

PHP 捕获失败的包含

php - 在 PHP 中从 MySQL 中提取主键

r - 如何使用 xpath 检查某个对象在网页中是否可见?

ruby - 从 span 标签中读取文本值

PHP解析无效的html

php - 获取兄弟/姐妹节点的值

javascript - 如何从 mysql 检索数据到 chart.js

xml - XSLT 命名空间更改

c++ - DOMDocument C++ 内存管理