ホームページ > 記事 > ウェブフロントエンド > JavaScript で HTML エンティティをエスケープ解除する方法
HTML エンティティを含む XML-RPC 文字列を取得する場合、JavaScript は文字列をそのまま HTML に挿入するため、適切なエンティティが妨げられます。レンダリング。テキストは、意図した HTML 要素ではなく文字列として表示されます。
[DOMParser]
HTML エンティティをエスケープ解除するための推奨方法JavaScript では DOMParser を使用します。 DOMParser は、HTML 文字列を解析してそのコンテンツを抽出する、ブラウザでサポートされるツールです。 DOMParser を使用すると、エスケープされたエンティティを対応する文字に安全かつ効果的に変換できます。
次の関数は、DOMParser を使用して JavaScript の HTML エンティティをエスケープ解除します。
function htmlDecode(input) { var doc = new DOMParser().parseFromString(input, "text/html"); return doc.documentElement.textContent; }
関数をデモンストレーションするために、画像エンティティを含む HTML 文字列をエスケープ解除できます。
console.log( htmlDecode("<img src='myimage.jpg'>") ) // "<img src='myimage.jpg'>"
潜在的なクロスサイト スクリプティングに注意してください ( XSS) の脆弱性は、入力文字列が信頼できない場合に発生します。エスケープされた HTML エンティティは、文字列の解析時に実行される可能性のある悪意のある JavaScript コードを隠すことができます。
悪意のある行為者による脆弱性の悪用を防ぐために、エスケープを解除する前に常にユーザー入力を検証してください。
以上がJavaScript で HTML エンティティをエスケープ解除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。