我正在尋找一種方法來使用普通的JavaScript或jQuery將HTML實體數字轉換爲字符。如何使用純JavaScript或jQuery將HTML實體編號轉換爲字符?
例如,我有一個字符串,它看起來像這樣(謝謝你,jQuery的朋克!)
Range1-of-5
而我需要的是:
Range1-of-5
我發現字符串。 fromCharCode()我可以用十進制值來獲取字符,但是我希望看看是否有其他人有解決方案,然後才能重新發明輪子。 :)
我正在尋找一種方法來使用普通的JavaScript或jQuery將HTML實體數字轉換爲字符。如何使用純JavaScript或jQuery將HTML實體編號轉換爲字符?
例如,我有一個字符串,它看起來像這樣(謝謝你,jQuery的朋克!)
Range1-of-5
而我需要的是:
Range1-of-5
我發現字符串。 fromCharCode()我可以用十進制值來獲取字符,但是我希望看看是否有其他人有解決方案,然後才能重新發明輪子。 :)
jQuery的方式看起來更好,但這裏如果你有興趣純JS版:
function decode(encodedString) {
var tmpElement = document.createElement('span');
tmpElement.innerHTML = encodedString;
return tmpElement.innerHTML;
}
decode("Range1-of-5");
無需使用jQuery這個簡單的任務:
'Range1-of-5'.replace(/&#(\d+);/g, function(match, number){ return String.fromCharCode(number); })
相同的原理可應用於& #xHHHH;和&name;實體。
這工作,但我探索的角落案件我擔心它不會很好地擴展到不同的用例。我確實鼓勵了它,因爲它讓我覺得非常有用,只是不如我想我可能需要超出上述初始用例那樣強大。 – amber 2011-05-27 20:39:54
這不是一個實體,而是一個[正常字符引用](http://www.w3.org/TR/html401/charset.html#h-5.3.1)。 – Gumbo 2011-05-27 17:27:33