如何使用JavaScript将HTML实体€ ► ♠
转换为实际字符€ ► ♠
?
答案 0 :(得分:10)
一个例子是:alert(String.fromCharCode(8364));
其中8364是HTML实体的编号。
要自动替换整个文本,您需要使用此正则表达式替换示例:
"The price of milk is now €100000.".replace(/&#(\d{0,4});/g, function(fullStr, str) { return String.fromCharCode(str); });
魔术发生在这里:
replace(/&#(\d{1,4});/g, function(fullStr, code) { return String.fromCharCode(code); });
要替换的第一个参数/&#(\d{1,4});/g
指定由&#和包围的1到4个数字;分别。第二个参数function(fullStr, code) [...]
执行替换,其中code
是数字。
答案 1 :(得分:3)
您可以通过innerHTML
使用浏览器的内置HTML解析器,这将具有处理所有HTML实体的优势,而不仅仅是数字实体。请注意,如果传递给函数的字符串包含HTML标记,则以下内容将不起作用。
function convertEntities(html) {
var el = document.createElement("div");
el.innerHTML = html;
return el.firstChild.data;
}
var html = "€ ► ♠ " &";
var text = convertEntities(html); // € ► ♠ " &
答案 2 :(得分:2)
document.getElementById("myElement").innerHTML = "€".fromCharCode();
实际上,请注意,fromCharCode()
函数仅在String对象上可用,因此它看起来像 Will Morgan 所说的那样:
document.getElementById("myElement").innerHTML = String.fromCharCode(8364)