【发布时间】:2013-01-13 08:12:02
【问题描述】:
我想使用 RegEx 和 PHP 提取文章的第一段。我开始写一个正则表达式如下:
'/<p([^>]+)>(.*)<\/p>/i'
这是在做这项工作,但唯一的小错误是,虽然标记被缩小并在一行中,如下所示:
<p>First Paragraph</p><p>SecondParagraph</p>
它只匹配所有<p>First Paragraph</p><p>SecondParagraph</p>。
另外,我知道一个段落不能在另一个段落中,但我无法控制用户写什么,所以他可能会做这样的事情,在这种情况下,RegEx 会返回意想不到的结果,如下所示:
<p>
First Paragraph
<p>SecondParagraph</p>
</p>
现在正则表达式匹配<p>First Paragraph<p>SecondParagraph</p>,但应该提取<p>First Paragraph<p>SecondParagraph</p></p>。
【问题讨论】:
标签: php regex preg-match-all