【发布时间】:2020-09-20 05:39:21
【问题描述】:
我正在尝试计算散布在整篇文章中的 HTML 页面上有多少图像,但我不想计算在文章正文开始之前出现的图像。问题是类是完全相同的,所以我不能用它来帮助我,而且不是每篇文章都以图像开头。所以 HTML 可能看起来像这样:
<img class="image-asset" src="image.jpg">
<p>First line</p>
<p>Second line</p>
<img class="image-asset" src="second_image.jpg">
<p>Third line</p>
<img class="image-asset" src="third_image.jpg">
在这种情况下,我只想计算第二张和第三张图像。这是我的代码,目前已成功计算每张图片:
$photoCount = count($html->find('div.image-asset'));
【问题讨论】:
-
所以在这个例子中,它是你不想计算的第一张图片? DOM 的哪一部分定义了“文章”是什么?
-
“文章”文本的开头是否总是在
<p>标记中? -
我看到了一些选项来实现你想做的事情。然而,这取决于文章是如何定义标记的。所以选择是遍历 dom 树,使用回调函数或使用正则表达式。
-
正确,第一张图片-如果是文章中的第一件事-我不想数。是的,在我要计算的第一张照片之前总会有至少一个
标签。
标签: php parsing dom web-scraping simple-html-dom