如何通过PHP获取div? [英] How to get a div via PHP?
本文介绍了如何通过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屋!
查看全文