PHP 文字列から HTML タグと PHP タグを削除する方法

王林
リリース: 2024-03-19 14:08:02
転載
361 人が閲覧しました

php エディタ Xiaoxin は、PHP を使用して文字列から HTML タグと PHP タグを削除する方法を紹介します。 Web 開発では、タグを含むテキストを処理する必要がよくあります。プレーン テキスト コンテンツを取得するには、PHP のstrip_tags() 関数を使用して HTML タグを削除し、preg_replace() 関数を使用して PHP タグを削除します。これら 2 つの関数を一緒に使用すると、文字列からマーカーを簡単に削除でき、テキスト コンテンツをより便利に処理できるようになります。次は操作方法を詳しく見ていきましょう!

文字列から HTML タグと PHP タグを削除する

######導入:### データ処理では、プレーン テキスト コンテンツを取得したり、不要なコードの実行を防止したりするために、文字列から HTML タグや PHP タグを削除することが必要になることがよくあります。 PHP は、この目標を達成するために、さまざまな関数と

正規表現を提供します。 方法 1:strip_tags() 関数

strip_tags() 関数は、コメントやスクリプトを含むすべての HTML タグと PHP タグを文字列から削除します。その構文は次のとおりです:

string ストリップタグ(文字列 $str, 文字列 $allow_tags = null)

このうち、$str は処理対象の文字列、$allow_tags は保持する HTML タグのリストを指定するオプションのパラメータです。例えば:###
$str = "<h1>Hello,world!</h1><p>これは段落です。</p>";
$result =strip_tags($str); // 出力: 「こんにちは、世界!これは段落です。」
ログイン後にコピー

方法 2: 正規表現
ログイン後にコピー
ログイン後にコピー

正規表現を使用すると、HTML タグと PHP タグをより柔軟に削除できます。次の正規表現を使用できます: /<(!--.*?-->||(?<=[^>])><[^>] )> ;/s

この正規表現は、コメント、スクリプト、自己終了タグを含む、すべての HTML タグと PHP タグに一致します。 preg_replace() 関数を使用して削除できます:

$str = "<h1>Hello,world!</h1><p>これは段落です。</p>";
$result = preg_replace("/<(!--.*?-->|<?.*??>|(?<=[^>])><[^> ] )>/s", "", $str);
ログイン後にコピー

方法 3: DOMDocument クラス
ログイン後にコピー
ログイン後にコピー

DOMDocument クラスは、XML ドキュメントおよび HTML ドキュメントへの低レベルのアクセスを提供します。このクラスを使用すると、次の方法で文字列から HTML タグを削除できます。 DOMDocument オブジェクトを作成し、文字列を読み込みます。

loadHTML() メソッドを使用して文字列をロードします。

    saveHTML() メソッドを呼び出して、マークアップが削除されたプレーン テキストを含む文字列としてドキュメントを保存します。
  1. $str = "

    Hello,world!

    これは段落です。

    "; $dom = 新しい DOMDocument(); $dom->loadHTML($str); $result = $dom->saveHTML();
  2. パフォーマンスの比較:
ログイン後にコピー
これら 3 つの方法の間には、パフォーマンスに微妙な違いがあります。文字列が小さい場合は、通常、strip_tags() 関数が最も高速です。文字列が大きい場合は、正規表現の方が若干高速になる可能性があります。 DOMDocument クラスは、複雑な HTML ドキュメントを処理する場合に遅くなります。

選択方法:

どの方法を選択するかは、特定のニーズと処理される文字列の種類によって異なります。単純なテキスト処理の場合は、通常、strip_tags() 関数で十分です。より複雑なニーズの場合は、正規表現または DOMDocument クラスにより、より多くの制御オプションが提供されます。

以上がPHP 文字列から HTML タグと PHP タグを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!