使用PHP DOM文档,通过其类选择HTML元素并获取其文本

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP DOM文档,通过其类选择HTML元素并获取其文本脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从div中获取文本,其中class =’review-text’,通过使用具有以下 HTML(相同结构)的 PHP的DOM元素和以下代码.

但是这似乎不起作用

> HTML

$html = '
    <div class="page-wrapPEr">
        <section class="page single-review" ITemtype="http://schema.org/Review" itemscope="" itemPRop="review">
            <article class="review clearfix">
                <div class="review-content">
                    <div class="review-text" itemprop="reviewBody">
                    Outstanding ... 
                    </div>
                </div>
            </article>
        </section>
    </div>
';

> PHP代码

$classname = 'review-text';
    $dom = new DOMDocument;
    $dom->loadhtml($html);
    $xpath     = new DOMXPath($dom);
    $results = $xpath->query("//*[@class and contains(concat(' ',normalize-space(@class),' '),' $classname ')]");

    if ($results->length > 0) {
        echo $review = $results->item(0)->nodeValue;
    }

Blog提供了按类别选择元素的XPATH语法

我已经尝试过StackOverflow,在线教程的许多例子,但没有一个似乎工作.我错过了什么吗?

以下XPath查询将执行您想要的操作.只需将提供给$xpath->查询的参数替换为以下内容
//div[@class="review-text"]

编辑:
为了方便开发,您可以在http://www.xpathtester.com/test测试您的XPath查询在线.

EDIT2:
测试了这段代码;它工作完美.

<?PHP

$html = '
    <div class="page-wrapper">
        <section class="page single-review" itemtype="http://schema.org/Review" itemscope="" itemprop="review">
            <article class="review clearfix">
                <div class="review-content">
                    <div class="review-text" itemprop="reviewBody">
                    Outstanding ... 
                    </div>
                </div>
            </article>
        </section>
    </div>
';

$classname = 'review-text';
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$results = $xpath->query("//*[@class='" . $classname . "']");

if ($results->length > 0) {
    echo $review = $results->item(0)->nodeValue;
}

?>

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP DOM文档,通过其类选择HTML元素并获取其文本全部内容,希望文章能够帮你解决使用PHP DOM文档,通过其类选择HTML元素并获取其文本所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。