【发布时间】:2015-03-28 09:12:09
【问题描述】:
我正在尝试创建一个 preg_match,它可以在 HTML 文档中找到一系列标签。
示例 HTML:
<div class="importantclass">
<p>some thing</p>
<p>some more things</p>
</div>
<div class="importantclass">
<b>some text</b>
<p>NEEDLE</p>
</div>
我需要找到带有 div class="importantclass" 的标签的组合以及随后带有特定 NEEDLE-Text 的 p-tag。
然后我需要返回开始 div 类的位置。 注意:我不想因为重要类 div 的第一次出现而得到匹配。
是否有可能在不使用 DOM 而只使用正则表达式的情况下做到这一点?
感谢您的提示!
【问题讨论】:
-
当你知道有 DOM 是查找节点的更合适的工具时,为什么还要使用正则表达式呢?你能澄清一下实际的用例吗,例如一旦有了偏移量,您打算如何处理?
-
我知道这个答案现在是如何变得如此流行的......你不应该用正则表达式解析 HTML,正如 Gordon 所说,你有一个非常好的 DOM 和
getElementsByTagName()方法,你可以迭代通过。 -
您能否发布所需输出的样本?
标签: php html regex preg-match