转换所有&,<,>字符到HTML实体

时间:2011-02-21 12:35:20

标签: javascript html dom

我需要最有效的方法将所有适用的字符转换为HTML实体。

我在堆栈溢出中找到的两个解决方案如下,但其中一个涉及使用DOM和其他正则表达式。

使用Regular Expression

return mystring.replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");

使用DOM

function HtmlEncode(s)
{
  var el = document.createElement("div");
  el.innerText = el.textContent = s;
  s = el.innerHTML;
  delete el;
  return s;
}     

有没有人知道在不使用任何DOM API和正则表达式的情况下将字符转换为HTML实体的有效解决方案?

2 个答案:

答案 0 :(得分:2)

在下面的链接中查看php.JS lib。

http://phpjs.org/functions/htmlentities:425

答案 1 :(得分:0)

来自“为什么你想要做那样的事情?”的土​​地。

var foo = "Hello, world";
var html = "";
for (var i = 0; i < foo.length; i++) {
    html += "&#" + foo.charCodeAt(i) + ";";
}
alert(html);