ホームページ >バックエンド開発 >PHPチュートリアル >正規表現を使用して PHP で HTML タグを削除する方法

正規表現を使用して PHP で HTML タグを削除する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2023-06-22 17:00:111012ブラウズ

Web 開発では、HTML は不可欠な要素です。ただし、HTML タグのないプレーン テキストを HTML から抽出する必要がある場合があります。このとき、正規表現は非常に便利なツールです。

PHP では、preg_replace() 関数を使用して HTML タグを削除できます。この関数の使用方法は次のとおりです。

preg_replace($pattern, $replacement, $subject);

このうち、$pattern は正規表現パターン、$replacement は置換文字列、$subject は処理対象の文字列です。以下で説明するように、$pattern と $replacement の両方を配列にすることができることに注意してください。

次に、HTML タグを削除するためのいくつかの一般的な正規表現について説明します。

  1. HTML タグを削除します
$pattern = '/<[^>]*>/';
$replacement = '';
$text = preg_replace($pattern, $replacement, $html);

この正規表現では、62a61bacab211a1b9ba57c85b4d058bd タグを持つテキストと一致し、それを削除します。 (?s) トークンは、 . が改行を含む任意の文字に一致することを意味します。この式は、可能な限り少数の文字と一致する *? を使用しているため、貪欲でもありません。

  1. スタイル タグの削除
$pattern = '/<style[^>]*>(.*?)</style>/is';
$replacement = '';
$text = preg_replace($pattern, $replacement, $html);

この正規表現は、c9ccee2e6ea535a969eb3f532ad9fe89 タグを持つテキストと一致し、それを削除します。 (?s) マーカーと *? は、前の例と同様の方法で使用されます。

  1. 空のタグを削除
$pattern = '/<([a-z]+)(?:s+[^>]+)?>(s*)</>/i';
$replacement = '';
$text = preg_replace($pattern, $replacement, $html);

この正規表現は空のタグと一致し、空のタグを削除します。 (s*) は任意の空白文字と一致します。 ?: 非キャプチャ グループを表し、一致はしますが置換されないことを意味します。

  1. 不要な空白文字を削除します
$pattern = '/>s+</';
$replacement = '><';
$text = preg_replace($pattern, $replacement, $html);

この単純な正規表現は、2 つのタグ間の任意の空白文字と一致し、単一のスペースに置き換えます。

要約すると、これらの正規表現は、HTML タグを削除するときによく使用されます。もちろん、HTML タグを削除する方法はたくさんあります。最終的な選択は、特定のニーズとコードの実装方法によって異なります。


  1. >

以上が正規表現を使用して PHP で HTML タグを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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