2011-05-27 84 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

相關問題