文字列から 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が提案したように、次のものを使用することですpattern:
/&#?[a-z0-9]{2,8};/i
このパターンは、置換を特定の文字範囲内のシーケンスに制限し、リスクを軽減しますエンコードされていないものを誤って置き換える可能性があります。文中の文字
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3