我正在尝试将数据库中的值存储到 HTML5data
属性中。
由于这个答案,我可以很好地逃避它们,但我该如何扭转呢?
我正在尝试将数据库中的值存储到 HTML5data
属性中。
由于这个答案,我可以很好地逃避它们,但我该如何扭转呢?
只需反转功能:
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