2

テキストエリアから更新される<p>タグがあります。.keyup

$("textarea").keyup(function(e) {
            var newtext = $("textarea").val().replace(/\n/g,'<br/>');
            $("p").html(newtext);

        });

ユーザーが入力した JavaScript をエスケープするにはどうすればよいですか。

javascriptだけでhtmlをエスケープしたくありません。

4

1 に答える 1

3

使用する代わりに

$("p").html(newtext);

あなたが使用できる

$("p").text(newtext);

これは、 HTML を自動的にエスケープする jQuery 内の関数です。

編集:

JS をエスケープしたい場合は、次のようにします。


var a = "<b>This</b><script>aaa</script>";
var escapeHTML = function(a) {
    return a.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
}

a.replace(re, function (_a){return escapeHTML(_a)});

そして、 a.replace() が返す文字列を .html() を使用して設定します

于 2012-08-07T15:55:35.183 に答える