如何通过PHP获取div? [英] How to get a div via PHP?

查看:75
本文介绍了如何通过PHP获取div?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从远程服务器上使用 file_get_contents 获取页面,但是我想过滤该页面,并使用PHP从文本类获取DIV。我开始使用 DOMDocument ,但我现在迷失了。

I get a page using file_get_contents from a remote server, but I want to filter that page and get a DIV from it that has class "text" using PHP. I started with DOMDocument but I'm lost now.

任何帮助?

$file = file_get_contents("xx");
$elements = new DOMDocument();
$elements->loadHTML($file);
foreach ($elements as $element) {
    if( !is_null($element->attributes)) {
        foreach ($element->attributes as $attrName => $attrNode) {
            if( $attrName == "class" && $attrNode== "text") {
                echo $element;
            }
        }
    }
}


推荐答案

将文档加载到 DOMDocument 实例,您可以使用XPath查询 - 这可能比通过DOM更容易。

Once you have loaded the document to a DOMDocument instance, you can use XPath queries on it -- which might be easier than going yourself through the DOM.

为此,您可以使用 DOMXpath



例如,你应该可以这样做:


For example, you should be able to do something like this :

$dom = new DOMDocument();
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$tags = $xpath->query('//div[@class="text"]');
foreach ($tags as $tag) {
    var_dump($tag->textContent);
}



(未测试,所以你可能需要修改XPath查询...)

这篇关于如何通过PHP获取div?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆