Unescape html字符实体

2 html javascript escaping character-entities

我正在尝试将数据库中的值存储到HTML5 data属性中.

由于这个答案,我可以逃脱它们,但我该怎么扭转呢?

Ian*_*Ian 10

只需反转功能:

function unescapeHtml(unsafe) {
    return unsafe
        .replace(/&/g, "&")
        .replace(/&lt;/g, "<")
        .replace(/&gt;/g, ">")
        .replace(/&quot;/g, "\"")
        .replace(/&#039;/g, "'");
}
Run Code Online (Sandbox Code Playgroud)

演示: http ://jsfiddle.net/wazXb/


dga*_*ood 7

要处理所有潜在字符(而不是“已知”列表),请使用浏览器的自然转义,让浏览器将 HTML 字符串转换为文本:

function unescapeHTML(string) {
   var elt = document.createElement("span");
   elt.innerHTML = string;
   return elt.innerText;
}
Run Code Online (Sandbox Code Playgroud)

参考资料