ホームページ >バックエンド開発 >PHPチュートリアル >正規表現を使用して HTML タグ内の改行文字を照合するにはどうすればよいですか?

正規表現を使用して HTML タグ内の改行文字を照合するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-02 01:55:311004ブラウズ

How Do I Match Newline Characters within HTML Tags Using Regular Expressions?

改行文字と正規表現の一致

間の文字列を一致させようとすると、問題が発生します。
タグ、改行文字が存在する場所。標準の正規表現 .* は、これらの改行文字を認識できません。
'/<div>(.*)<\/div>/s'

この問題に対処するには、DOTALL 修飾子 (別名 /s) を利用します。これにより、ドット (.) が改行を含む任意の文字と一致できるようになります。次の式を試してください:

'/<div>(.*?)<\/div>/s'

ただし、貪欲な一致では望ましい結果が得られない可能性があることに注意してください。貪欲でない一致を使用することを検討してください:

'/<div>([^<]*)<\/div>/s'

あるいは、他のタグが存在しない限り、'<' 以外のものと一致させることもできます:

'#<div>([^<]*)<\/div>'

覚えておいてください。 「/」以外の文字 (「#」など) を区切り文字として使用すると、タグ内で「/」をエスケープする必要がなくなり、読みやすさが向上します。 '#' を使用した例を次に示します。

これらのオプションにもかかわらず、複雑な HTML を扱うときは正規表現の制限を認識することが重要です。ネストされた div、余分な空白、その他の複雑さにより、正規表現解析の信頼性が低下する可能性があります。より正確な解析を行うには、代わりに HTML パーサーの使用を検討してください。

以上が正規表現を使用して HTML タグ内の改行文字を照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。