ホームページ >バックエンド開発 >PHPチュートリアル >HTML タグからコンテンツを抽出するときに、正規表現で改行文字を照合するにはどうすればよいですか?

HTML タグからコンテンツを抽出するときに、正規表現で改行文字を照合するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-01 01:31:28333ブラウズ

How Can I Match Newline Characters in Regex When Extracting Content from HTML Tags?

改行文字を DOTALL Regex 修飾子と一致させる

HTML div タグで囲まれた通常の文字、空白、改行を含む文字列を操作する場合、目的は、

間のコンテンツを抽出することです。
正規表現を使用します。標準の .* メタ文字が改行と一致しない場合に、一般的な問題が発生します。

これを克服するには、DOTALL 修飾子 (/s) を使用する必要があります。この修飾子は、ドット文字 (正規表現の .) が改行を含むすべての文字と一致することを保証します。この修飾子を正規表現に組み込むことで、div タグ内のコンテンツを正確にキャプチャできるようになります:

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

ただし、このアプローチでは貪欲な一致が発生する可能性があります。これに対処するには、非貪欲一致を使用することをお勧めします。

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

または、< を除くすべてを一致させます。他にタグが存在しない場合も解決策になります:

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

正規表現の区切り文字として / 以外の文字を使用すると、可読性が向上し、。区切り文字として # を使用した例を次に示します。

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

単純な場合にはこれらの解決策で十分かもしれませんが、HTML は複雑であり、正規表現解析だけでは十分ではない可能性があることを認識することが重要です。包括的で信頼性の高い解析を保証するには、専用の HTML パーサーの使用を検討することをお勧めします。

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

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

関連記事

続きを見る