ホームページ >バックエンド開発 >PHPチュートリアル >正規表現を使用して PHP で HTML タグを削除する方法
Web 開発では、HTML は不可欠な要素です。ただし、HTML タグのないプレーン テキストを HTML から抽出する必要がある場合があります。このとき、正規表現は非常に便利なツールです。
PHP では、preg_replace() 関数を使用して HTML タグを削除できます。この関数の使用方法は次のとおりです。
preg_replace($pattern, $replacement, $subject);
このうち、$pattern は正規表現パターン、$replacement は置換文字列、$subject は処理対象の文字列です。以下で説明するように、$pattern と $replacement の両方を配列にすることができることに注意してください。
次に、HTML タグを削除するためのいくつかの一般的な正規表現について説明します。
$pattern = '/<[^>]*>/'; $replacement = ''; $text = preg_replace($pattern, $replacement, $html);
この正規表現では、62a61bacab211a1b9ba57c85b4d058bd タグを持つテキストと一致し、それを削除します。 (?s) トークンは、 . が改行を含む任意の文字に一致することを意味します。この式は、可能な限り少数の文字と一致する *? を使用しているため、貪欲でもありません。
$pattern = '/<style[^>]*>(.*?)</style>/is'; $replacement = ''; $text = preg_replace($pattern, $replacement, $html);
この正規表現は、c9ccee2e6ea535a969eb3f532ad9fe89 タグを持つテキストと一致し、それを削除します。 (?s) マーカーと *? は、前の例と同様の方法で使用されます。
$pattern = '/<([a-z]+)(?:s+[^>]+)?>(s*)</>/i'; $replacement = ''; $text = preg_replace($pattern, $replacement, $html);
この正規表現は空のタグと一致し、空のタグを削除します。 (s*) は任意の空白文字と一致します。 ?: 非キャプチャ グループを表し、一致はしますが置換されないことを意味します。
$pattern = '/>s+</'; $replacement = '><'; $text = preg_replace($pattern, $replacement, $html);
この単純な正規表現は、2 つのタグ間の任意の空白文字と一致し、単一のスペースに置き換えます。
要約すると、これらの正規表現は、HTML タグを削除するときによく使用されます。もちろん、HTML タグを削除する方法はたくさんあります。最終的な選択は、特定のニーズとコードの実装方法によって異なります。
以上が正規表現を使用して PHP で HTML タグを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。