PHP は、Web サイト開発をより効率的かつ簡単にする、広く使用されているサーバーサイド スクリプト言語です。ただし、PHP を使用して Web サイトを開発する場合、
を削除する必要があるなどの文字エスケープの問題など、いくつかの問題が発生することがあります。この記事では、PHP を使用してこの問題を解決する方法を説明し、関連するヒントと提案をいくつか提供します。
とは何ですか?
Web 開発では、 などの文字シーケンスは HTML エンコーディングであり、山括弧の左側にある小なり記号を表し、右側にある大なり記号を表すために使用されます。 「br」はHTMLのタグで、改行に使用されます。したがって、PHP コードで
を見た場合、HTML の「改行」である「
」であると理解できます。
なぜ
削除する必要があるのでしょうか?
PHP を使用して Web サイトを開発する場合、データベースから取得したコンテンツなどのテキスト コンテンツを処理して Web ページに表示する必要がある場合があります。ただし、場合によっては、テキスト コンテンツに「
」、「
」などの HTML タグが含まれるため、これらのタグを削除してテキスト コンテンツのみを残す必要があります。
「
」タグの場合、通常、コード内でこのようなエンコード形式が
見られます。これは、Web ページでは、ブラウザーが HTML タグを解析し、対応するコンテンツに変換して表示するためです。 PHP コードでこれらのタグを直接削除すると、テキスト コンテンツに改行がなくなるなど、表示上の問題が発生します。したがって、これらのタグをまず HTML 形式に変換してから、プレーン テキスト コンテンツに処理する必要があります。
削除方法
?
PHP では、いくつかの関数とメソッドを使用して、
このような HTML エンコーディングを削除できます。一般的に使用される 2 つの方法を以下に紹介します。
方法 1:strip_tags() 関数を使用する
strip_tags() 関数は、PHP で HTML タグを削除するために使用される関数です。文字列内のすべての HTML タグを削除し、ダウンロードのみを残すことができます。プレーンテキストのコンテンツ。もちろん、strip_tags() 関数を使用する場合は、削除したくないタグを削除しない関数に指定するなど、細かい点にも注意する必要があります。インジェクション攻撃を回避するには、次のようにする必要があります。 htmlentities() などを使用します。
次は、strip_tags() 関数を使用して
を削除するコード例です:
<?php $str = "这是一段包含<br>标签的文本内容。"; $str = str_replace("%3cbr %3e", "<br>", $str); // 将%3cbr %3e替换为<br> $str = strip_tags($str); // 去除HTML标签 echo $str; ?>
上記のコードを実行すると、次の出力が得られます:
这是一段包含标签的文本内容。
方法 2: 正規表現を使用する 式
strip_tags() 関数に加えて、PHP では HTML タグを削除するための正規表現の使用もサポートしています。正規表現は、テキスト パターンの記述と照合に使用される構文であり、HTML タグを識別して削除し、テキスト コンテンツのみを残すことができます。
次は、正規表現を使用して
を削除するコード例です:
<?php $str = "这是一段包含<br>标签的文本内容。"; $str = str_replace("%3cbr %3e", "<br>", $str); // 将%3cbr %3e替换为<br> $str = preg_replace("/<.*?>/si", "", $str); // 去除HTML标签 echo $str; ?>
上記のコードを実行すると、次の出力が得られます:
这是一段包含标签的文本内容。
正規表現 式内の「/s」修飾子は、テキストを単一の文字列として扱い、「.」を改行を含む任意の文字に一致させることを意味します。
概要
この記事では、strip_tags() 関数と正規表現を使用して
の HTML エンコーディングを削除する 2 つの方法を紹介します。実際の開発では、状況に応じて適切な方法を選択し、他のセキュリティ対策と組み合わせてプログラムの安全性を確保する必要があります。さらに、コードを記述する際には、可読性と保守性も確保し、エラーやバグを可能な限り回避する必要があります。
以上がPHPで%3cbr %3eを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。