文字列から HTML 特殊文字を削除する
RSS フィードを作成する場合、互換性を確保するために HTML タグと特殊文字を削除することが重要です。 strip_tags() はタグを効果的に削除しますが、多くの場合 HTML 特殊文字が残ります。
この問題に対処するには、次の 2 つの解決策が考えられます。
html_entity_decode():
この関数は HTML エンティティをデコードし、対応する文字に置き換えます。たとえば、
preg_replace():
正規表現を使用すると、preg_replace() で特定の文字シーケンスを削除できます。次のパターンは、HTML 特殊文字を照合して削除します。
/&#?[a-z0-9]+;/i
このパターンは、 で始まり、文字と数字の組み合わせが続き、セミコロンで終わるシーケンスを検索します。
この解決策を実装するには:
$content = preg_replace("/&#?[a-z0-9]+;/i", "", $content);
Jacco の代替案:
コメント セクションで Jacco が提案した別のオプションは、次のパターンを使用することです:
/&#?[a-z0-9]{2,8};/i
このパターンは、置換を特定の文字範囲内のシーケンスに制限し、エンコードされていない文字列や文字列を誤って置換するリスクを軽減します。文章内の文字
以上が文字列から HTML 特殊文字を効果的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。