转义HTML字符

时间:2010-11-15 11:19:16

标签: javascript

我需要HTML编码字符,例如输入为<test>我的预期输出为&lt;test&gt;

我该怎么做?

5 个答案:

答案 0 :(得分:2)

var encoded = htmlEncode('<test>');    // returns "&lt;test&gt;"

// ...

function htmlEncode(str) {
    var div = document.createElement('div');
    var txt = document.createTextNode(str);
    div.appendChild(txt);
    return div.innerHTML;
}

答案 1 :(得分:1)

Encoder.js

  • htmlDecode:解码HTML编码文本 到原来的状态。
  • htmlEncode:将HTML编码为其中之一 数字或HTML实体。这是 由EncodeType确定 属性。

HTML从输入元素编码文本。这样可以防止双重编码。

var encoded = Encoder.htmlEncode(document.getElementById('input'));

要编码但允许双重编码,这意味着任何现有实体,例如&amp;将被转换为&amp; amp;

var dblEncoded = Encoder.htmlEncode(document.getElementById('input'),true);

答案 2 :(得分:0)

您应该使用HTML Entities复制特殊字符。

答案 3 :(得分:0)

htmlspecialchars()并为html评论做自己的str_replace()

答案 4 :(得分:0)

function simpleEscape(str) {
    return str.replace('<', '&lt;').replace('>', '&gt;');
}

var myStr = '<test>';
alert(simpleEscape(myStr));

我能想到的最简单(只要你打算替换它)。