正規表現と PHP を使用して、記事の最初の段落を抽出したいと考えています。以下のように正規表現を書き始めました。
'/<p([^>]+)>(.*)<\/p>/i'
それは仕事をしていますが、唯一の小さなバグは、マークアップが縮小され、以下のように1行になっていることです:
<p>First Paragraph</p><p>SecondParagraph</p>
単純にすべてに一致します<p>First Paragraph</p><p>SecondParagraph</p>
。
また、段落が別の段落内にあることはできませんが、ユーザーが何を書くかを制御できないため、このようなことを行う可能性があり、この場合、正規表現は次のように予期しない結果を返します。
<p>
First Paragraph
<p>SecondParagraph</p>
</p>
これで RegEx が一致します<p>First Paragraph<p>SecondParagraph</p>
が、 を抽出する必要があり<p>First Paragraph<p>SecondParagraph</p></p>
ます。