我正试图将数据库中的值存储到HTML5 data
属性中。
我可以很好地逃避它们,因为这个答案,但我如何逆转呢?
把函数反过来:
function unescapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/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