我需要HTML编码字符,例如输入为<test>
我的预期输出为<test>
。
我该怎么做?
答案 0 :(得分:2)
var encoded = htmlEncode('<test>'); // returns "<test>"
// ...
function htmlEncode(str) {
var div = document.createElement('div');
var txt = document.createTextNode(str);
div.appendChild(txt);
return div.innerHTML;
}
答案 1 :(得分:1)
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('<', '<').replace('>', '>');
}
var myStr = '<test>';
alert(simpleEscape(myStr));
我能想到的最简单(只要你打算替换它)。