JavaScript で HTML エンティティを正常にデコードする方法
JavaScript は、XML-RPC バックエンドなどの外部ソースと対話することがよくあります。これらのバックエンドは、 のような HTML エンティティを含む文字列を返す場合があります。 Javascript を使用してこれらの文字列を HTML に組み込もうとすると、文字列がそのまま表示されたり、エスケープされていない HTML エンティティとして表示されたりする可能性があります。
これらの HTML エンティティを効果的にエスケープ解除するには、外部ソースの技術を利用しても失敗する可能性があります。代わりに、最新のブラウザでサポートされている DOMParser メソッドを利用してください。その方法は次のとおりです:
function htmlDecode(input) { var doc = new DOMParser().parseFromString(input, "text/html"); return doc.documentElement.textContent; }
使用例:
console.log(htmlDecode("<img src='myimage.jpg'>")); // "<img src='myimage.jpg'>" console.log(htmlDecode("<img src='dummy' onerror='alert(/xss/)'>")); // ""
このメソッドは、悪意のあるコードの実行を防ぎながら、HTML エンティティを正常にデコードします。
以上がJavaScript で HTML エンティティを安全にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。