使用PHP DOMDocument,然后找到下面的图像标签循环查找

时间:2017-08-31 19:36:29

标签: php html

我知道如何使用DOM getElementsByTagName从上到下循环使用html标签。

是否可以根据可能的查找或行号告诉循环实际启动的位置?

示例:

  • 我在文件<!-- Start Here -->

  • 中有评论
  • 在文件中找到评论

  • 在评论

  • 下面循环播放img标签

1 个答案:

答案 0 :(得分:2)

XPath查询可以满足您的要求。您可以在特定评论后选择所有img代码,如下所示:

$domDoc->load('/path/to/your/html');

$xpath = new DOMXPath($domDoc);
$qry = "//comment()[. = ' Start Here ']/following::img";

$results = $xpath->query($qry);

$results现在包含评论后发生的所有img标记的可迭代列表。然后,您可以根据自己的喜好处理图片。例如,这会打印出每个src的{​​{1}}属性:

img

注意,在上面的循环中,foreach($results as $img){ echo $img->getAttribute('src'); } DOMNode对象,因此您可以使用这些函数对其进行操作。

根据您的实际用例的复杂程度,我鼓励您阅读XPath syntax,它可以是一个非常强大的DOM解析工具。