【发布时间】:2011-02-06 04:11:31
【问题描述】:
我正在尝试匹配一个段落:
<p>content</p>
一个简单的<p>(.*?)</p> 有效,但有时该段落内部包含另一个段落,因此我的模式在第一段结束后匹配,直到第二段结束。
导致我出现问题的段落如下所示:
<p><p><b>something</b></p>content</p>
我怎样才能匹配主要段落而忽略该段落中的任何其他 p 标签?
我试过了
<p>(.*?)(?<!</b>)</p>
但是没有用。
我正在使用 preg_match_all php 函数。
【问题讨论】:
-
为什么不使用 HTML 解析器?
-
因为我正在处理具有很多模式的现有代码,而这种模式是唯一不起作用的,我不想从头开始重新编码。
标签: php regex preg-match-all regex-negation