HTML の特殊なエンティティを確実にデコードする
JSON 応答を解析すると、「'」のようなエンコードされた特殊な HTML エンティティを含む文字列が発生することがあります。 」アポストロフィの場合。 jQuery の「decodeHtml」はシンプルな解決策を提供しますが、不十分だと感じます。より堅牢なアプローチを検討してみましょう。
推奨される方法には、textarea 要素の使用が含まれます。
function decodeHtml(html) { var txt = document.createElement("textarea"); txt.innerHTML = html; return txt.value; }
この手法では、タグを保持しながら HTML エンティティを効果的にデコードします。デモ:
入力:
Entity:&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 サイトの他の関連記事を参照してください。