在Javascript中如何将特殊字符转换为HTML?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (269)

在Javascript中如何将特殊字符转换为HTML?

例子:

  • &(符号)变成&amp...
  • "(双引号)变成&quot
  • '(单引号)变成&#039
  • <(小于)&lt...
  • >(大于)&gt...
提问于
用户回答回答于

需要一个函数来执行

return mystring.replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");
用户回答回答于

最好的方法是使用浏览器的内置HTML转义功能来处理。要做到这一点,只需在DOM树中创建一个元素,并将innerText元素设置为你的字符串。然后检索innerHTML元素。浏览器将返回一个HTML编码的字符串。

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

测试运行:

alert(HtmlEncode('&;\'><"'));

输出:

&amp;;'&gt;&lt;"

扫码关注云+社区

领取腾讯云代金券