ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で HTML 特殊エンティティを確実にデコードするにはどうすればよいですか?

JavaScript で HTML 特殊エンティティを確実にデコードするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-04 11:06:12
オリジナル
596 人が閲覧しました

How Can I Reliably Decode HTML Special Entities in JavaScript?

HTML の特殊なエンティティを確実にデコードする

JSON 応答を解析すると、「'」のようなエンコードされた特殊な HTML エンティティを含む文字列が発生することがあります。 」アポストロフィの場合。 jQuery の「decodeHtml」はシンプルな解決策を提供しますが、不十分だと感じます。より堅牢なアプローチを検討してみましょう。

推奨される方法には、textarea 要素の使用が含まれます。

function decodeHtml(html) {
    var txt = document.createElement("textarea");
    txt.innerHTML = html;
    return txt.value;
}
ログイン後にコピー

この手法では、タグを保持しながら HTML エンティティを効果的にデコードします。デモ:

入力:

Entity:&amp;nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br>
ログイン後にコピー

出力:

Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
ログイン後にコピー

スペース、改行、タグスクリプト内のタグは正確に保持されます。このアプローチにより、HTML エンティティの信頼できるデコードが保証され、タスクに「適切な」ソリューションになります。

以上がJavaScript で HTML 特殊エンティティを確実にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート