如何从HTML字符代码中获取char?

时间:2012-04-20 21:36:14

标签: javascript special-characters html-entities

如何使用JavaScript将HTML实体€ ► ♠转换为实际字符€ ► ♠

3 个答案:

答案 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 = "&#8364".fromCharCode();

实际上,请注意,fromCharCode()函数仅在String对象上可用,因此它看起来像 Will Morgan 所说的那样:

document.getElementById("myElement").innerHTML = String.fromCharCode(8364)