ホームページ >バックエンド開発 >PHPチュートリアル >HTML タグからコンテンツを抽出するときに、正規表現で改行文字を照合するにはどうすればよいですか?
改行文字を DOTALL Regex 修飾子と一致させる
HTML div タグで囲まれた通常の文字、空白、改行を含む文字列を操作する場合、目的は、
これを克服するには、DOTALL 修飾子 (/s) を使用する必要があります。この修飾子は、ドット文字 (正規表現の .) が改行を含むすべての文字と一致することを保証します。この修飾子を正規表現に組み込むことで、div タグ内のコンテンツを正確にキャプチャできるようになります:
'/<div>(.*)<\/div>/s'
ただし、このアプローチでは貪欲な一致が発生する可能性があります。これに対処するには、非貪欲一致を使用することをお勧めします。
'/<div>(.*?)<\/div>/s'
または、< を除くすべてを一致させます。他にタグが存在しない場合も解決策になります:
'/<div>([^<]*)<\/div>/'
正規表現の区切り文字として / 以外の文字を使用すると、可読性が向上し、 で / をエスケープする必要がなくなることに注意してください。ディビジョン>。区切り文字として # を使用した例を次に示します。
'#<div>([^<]*)</div>#'
単純な場合にはこれらの解決策で十分かもしれませんが、HTML は複雑であり、正規表現解析だけでは十分ではない可能性があることを認識することが重要です。包括的で信頼性の高い解析を保証するには、専用の HTML パーサーの使用を検討することをお勧めします。
以上がHTML タグからコンテンツを抽出するときに、正規表現で改行文字を照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。