Php dom按div id获取元素
下面是我的html,我想用classucontent 我试着使用下面的代码,但它不工作Php dom按div id获取元素,php,dom,Php,Dom,下面是我的html,我想用classucontent 我试着使用下面的代码,但它不工作 $dom = new DOMDocument(); $dom->loadHTML($fop); $classname="ucontent"; $nodes = $finder->query("//*[contains(@class, '$classname')]"); print_r($nodes); 我的html代码如下 <div class="abc"> <di
$dom = new DOMDocument();
$dom->loadHTML($fop);
$classname="ucontent";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
print_r($nodes);
我的html代码如下
<div class="abc">
<div>
<div class="ucontent">test 123</div>
</div>
</div>
<div class="abc">
<div>
<div>
<div class="ucontent">test 123</div>
</div>
</div>
</div>
<div class="abc">
<span>
<div class="ucontent">test 123</div>
</span>
</div>
<div class="abc">
<div>
<div class="ucontent">test 123</div>
</div>
</div>
测试123
测试123
测试123
测试123
要使用classucontent获取每个div的内容,您可以尝试:
$dom = new DOMDocument();
@$dom->loadHTML($dom);
$path = new DOMXPath($dom);
$nodes= $path->query("/html/body//div[@class='ucontent']/div[last()]");
foreach ($nodes as $i => $node) {
echo $i, $node->nodeValue, PHP_EOL;
}
您需要定义$finder
-$finder=newdomxpath($dom)代码>。这将给出一个包含4个节点的列表。您需要foreach($nodes…)
来获取内容等。