我想使用 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>
.