html中如何处理文本中的特殊符号

我使用了下面这个方法

function html_encode(str) {
    if (!str) {
        return "";
    }
    var s = "";
    if (str.length == 0) return "";
    s = str.replace(/&/g, "&");
    s = s.replace(/</g, "&lt;");
    s = s.replace(/>/g, "&gt;");
    s = s.replace(/ /g, "&nbsp;");
    s = s.replace(/\'/g, "&#39;");
    s = s.replace(/\"/g, "&quot;");
    s = s.replace(/\n/g, "<br>");
    return s;
}

不过还是有很多字符无法处理掉,导致html显示异常
因为有很多来自不同平台的信息
请问有没有人有比较通用的函数来处理这些字符?
谢谢

阅读 6.2k
4 个回答

创建一个临时div 设置内部text为你想转的内容 然后读取他的内部html

escape 啊:

>escape("<> '\"\n")
"%3C%3E%20%27%22%0A"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题