2011-05-27 80 views
1

我正在寻找一种方法来使用普通的JavaScript或jQuery将HTML实体数字转换为字符。如何使用纯JavaScript或jQuery将HTML实体编号转换为字符?

例如,我有一个字符串,它看起来像这样(谢谢你,jQuery的朋克!)

Range1-of-5 

而我需要的是:

Range1-of-5 

我发现字符串。 fromCharCode()我可以用十进制值来获取字符,但是我希望看看是否有其他人有解决方案,然后才能重新发明轮子。 :)

+0

这不是一个实体,而是一个[正常字符引用](http://www.w3.org/TR/html401/charset.html#h-5.3.1)。 – Gumbo 2011-05-27 17:27:33

回答

4

jQuery的方式看起来更好,但这里如果你有兴趣纯JS版:

function decode(encodedString) { 
    var tmpElement = document.createElement('span'); 
    tmpElement.innerHTML = encodedString; 
    return tmpElement.innerHTML; 
} 

decode("Range1-of-5"); 
3

无需使用jQuery这个简单的任务:

'Range1-of-5'.replace(/&#(\d+);/g, function(match, number){ return String.fromCharCode(number); }) 

相同的原理可应用于& #xHHHH;和&name;实体。

+0

这工作,但我探索的角落案件我担心它不会很好地扩展到不同的用例。我确实鼓励了它,因为它让我觉得非常有用,只是不如我想我可能需要超出上述初始用例那样强大。 – amber 2011-05-27 20:39:54

相关问题