1. ホーム
  2. javascript

[解決済み] jQueryでHTML文字列をエスケープする

2022-03-15 01:20:33

質問

の文字列からHTMLをエスケープする簡単な方法をご存知の方はいらっしゃいますか? jQuery ? 任意の文字列を渡して、HTMLページで表示するために適切にエスケープできるようにする必要があります(JavaScript/HTMLインジェクション攻撃を防止する)。 これを行うためにjQueryを拡張することが可能であると確信していますが、私はこれを達成するためにフレームワークについて現時点で十分な知識がありません。

解決方法は?

を使用しているため jQuery を設定すれば、その要素の text プロパティを設定します。

// before:
// <div class="someClass">text</div>
var someHtmlString = "<script>alert('hi!');</script>";

// set a DIV's text:
$("div.someClass").text(someHtmlString);
// after: 
// <div class="someClass">&lt;script&gt;alert('hi!');&lt;/script&gt;</div>

// get the text in a string:
var escaped = $("<div>").text(someHtmlString).html();
// value: 
// &lt;script&gt;alert('hi!');&lt;/script&gt;