下面是我的html结构,我想输出类似:post_message div和相应图像中的内容
类似:
test 123 -> 1.png
test 1232 -> 2.png
test 1232 -> 3.png
HTML内容
<div class="abc">
<div>
<div class="udata">
<div class="post_message"><p>test 123</p></div>
<div class="">
<img class="scaledImageFitWidth img" src="1.png">
</div>
</div>
</div>
</div>
<div class="abc">
<div>
<div class="udata">
<div class="post_message"><p>test 1232</p></div>
<div class="">
<img class="scaledImageFitWidth img" src="2.png">
<img class="scaledImageFitWidth img" src="3.png">
</div>
</div>
</div>
</div>
下面是我的php代码,但似乎不起作用:
<?php
$dom = new DomDocument();
// $dom->load($filePath);
@$dom->loadHTML($fop);
$finder = new DomXPath($dom);
$classname="udata";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
// print_r($nodes);
foreach ($nodes as $i => $node) {
$entries = $finder->query("//*[contains(@class, 'post_message')]", $node);
print_r($entries);
$isrc = $node->query("//img/@src");
print_r($isrc);
}
[使用XPath时,始终需要使XPath相对于起始节点,因此,使用descendant
轴可确保限制后续搜索仅在起始点的节点部分。