非转义html字符实体



我正试图将数据库中的值存储到HTML5 data属性中。

我可以很好地逃避它们,因为这个答案,但我如何逆转呢?

把函数反过来:

function unescapeHtml(unsafe) {
    return unsafe
        .replace(/&/g, "&")
        .replace(/&lt;/g, "<")
        .replace(/&gt;/g, ">")
        .replace(/&quot;/g, """)
        .replace(/&#039;/g, "'");
}
演示:

http://jsfiddle.net/wazXb/

要处理所有可能的字符(而不是"已知"列表),使用浏览器的自然转义,允许它将HTML字符串转换为文本,使用如下命令:

function unescapeHTML(string) {
   var elt = document.createElement("span");
   elt.innerHTML = string;
   return elt.innerText;
}

引用:

  • document.createElement - https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement
  • *.innerHTML - https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML
  • *.innerText - https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText

相关内容

  • 没有找到相关文章

最新更新