改行文字と正規表現の一致
'/<div>(.*)<\/div>/s'
この問題に対処するには、DOTALL 修飾子 (別名 /s) を利用します。これにより、ドット (.) が改行を含む任意の文字と一致できるようになります。次の式を試してください:
'/<div>(.*?)<\/div>/s'
ただし、貪欲な一致では望ましい結果が得られない可能性があることに注意してください。貪欲でない一致を使用することを検討してください:
'/<div>([^<]*)<\/div>/s'
あるいは、他のタグが存在しない限り、'<' 以外のものと一致させることもできます:
'#<div>([^<]*)<\/div>'
覚えておいてください。 「/」以外の文字 (「#」など) を区切り文字として使用すると、タグ内で「/」をエスケープする必要がなくなり、読みやすさが向上します。 '#' を使用した例を次に示します。
これらのオプションにもかかわらず、複雑な HTML を扱うときは正規表現の制限を認識することが重要です。ネストされた div、余分な空白、その他の複雑さにより、正規表現解析の信頼性が低下する可能性があります。より正確な解析を行うには、代わりに HTML パーサーの使用を検討してください。以上が正規表現を使用して HTML タグ内の改行文字を照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。