如果您有一个包含 HTML 实体的字符串并希望将其反转义,建议使用以下解决方案或其变体:
有没有解决方案适用于IE 10版本之前的浏览器?
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
htmlDecode("<img src='myimage.jpg'>");
// returns "<img src='myimage.jpg'>"
例如,可以参考这个回答:https://dev59.com/o3I-5IYBdhLWcg3wVWpi#1912522
只要字符串不包含换行符并且我们不在运行早于10版的Internet Explorer上(测试版本为9和8),这个方法就能正常工作。
如果字符串包含换行符,则IE 8和9将其替换为空格,而不是像Chrome、Safari、Firefox和IE 10一样保持不变。
htmlDecode("Hello\nWorld");
// returns "Hello World" on IE 8 and 9
有没有解决方案适用于IE 10版本之前的浏览器?