我使用javascript来获取一些asp.net服务器变量来显示它们,问题是如果有一些html特殊字符,则字符串不会被分配为服务器上的字符串。它显示错误。
例如字符串:
`ALBERTO GÓMEZ SÁNCHEZ`
显示为
`ALBERTO GóMEZ SáNCHEZ`
我知道我可以使用替换功能,但是为每个可能的特殊html字符执行此操作似乎太耗时...我想必须有一些内置函数可以轻松解决这个问题,但我找不到它或者更简单的方法而不是试图替换每个可能的HTML特殊字符。
你知道吗?谢谢你的帮助。
答案 0 :(得分:0)
如果你想用这种方式解码html字符串:
function decodeHTMLEntities (str) {
if(str && typeof str === 'string') {
// strip script/html tags
str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
element.innerHTML = str;
str = element.textContent;
element.textContent = '';
}
return str;
}
从这里采取:HTML Entity Decode
如果你想把这个html字符串放入你的DOM,你不需要解码它,浏览器将为你完成这项工作。 只需像这样插入:
$("body").html(encodedHtmlStringFromServer);