我一直在四处寻找,但尚未找到解决方案。我正在尝试抓取 HTML 文档并获取两条评论之间的文本,但到目前为止还无法成功完成此操作。
我正在使用 PHP 并多次尝试这里推荐的 PHP 简单 DOM 解析器,但似乎无法让它执行我想要的操作。
这是我希望解析的(部分)页面:
<div class="class">
<!-- blah -->
text
<!-- end blah -->
Text I want
<!-- blah -->
text
<!-- end blah -->
</div>
谢谢
最佳答案
假设每个评论都不同(即“blah”在第一部分和第二部分中不同),您可以使用一些简单的 strpos
来获取它们之间的所有内容。 不需要正则表达式。
$startStr = '<!-- end blah1 -->';
$endStr = '<!-- start blah2 -->';
$startPos = strpos($HTML, $startStr) + strlen($startStr);
$endPos = strpos($HTML, $endStr );
$textYouWant = substr($HTML, $startPos, $endPos-$startPos);
如果两组注释 相同,您需要修改它以找到第二个“blah”,使用 strpos
的 offset
参数
关于php - 在 PHP 中抓取 HTML 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1332590/