2013-10-07 35 views
0

隨着bucabay的幫助下,我們能夠特殊字符編碼爲HTML實體HTML實體轉換爲特殊字符 以下鏈接參考: (How to convert characters to HTML entities using plain JavaScript) 現在我們要對其進行解碼iehow轉換HTML實體再次變爲特殊字符。如何使用普通的JavaScript

問候, AA。

+0

[轉換HTML字符實體回普通的文本使用javascript]可能重複(http://stackoverflow.com /問題/ 4338963 /轉換-HTML字符實體背到常規文本使用的JavaScript) –

回答

0

可以使用基本的JavaScript或使用jQuery做吧..

newText = 「Ü bergro ßËÄ pfel MITW¯¯ü rmern」;

變種my_unescaped_text = jQuery的( '')的HTML(newText)的.text();

+0

需要那些HTML實體轉換爲特殊字符。 – user2831401

+0

這引入了在跨站點腳本漏洞的形式的安全風險:如果輸入('newText')包含像'','即(1)'將執行警報。該解決方案還取決於瀏覽器對字符引用的支持,即使在現代瀏覽器中也不是完美的:http://mathias.html5.org/tests/html/它也不適用於非瀏覽器環境。 –

0

您可以通過瀏覽器解析文本爲HTML,例如做

var text = "Übergroße Äpfel mit Würmern"; 
var span = document.createElement('span'); 
span.innerHTML = text; 
alert(span.innerHTML); // contains the characters as decoded 
+0

這引入了在跨站點腳本漏洞的形式的安全風險:如果輸入('text')包含像'','即(1)'將執行警報。該解決方案還取決於瀏覽器對字符引用的支持,即使在現代瀏覽器中也不是完美的:http://mathias.html5.org/tests/html/它也不適用於非瀏覽器環境。 –

+0

@MathiasBynens,問題中沒有任何內容表明數據來自外部來源。恰恰相反:數據被描述爲通過將一些字符編碼爲實體而創建。 –

0

爲了避免在其他答案的問題的強大的解決方案,使用the he library。從它的自述:

(爲「HTML實體」)是用JavaScript編寫的一個強大的HTML實體編碼器/解碼器。它支持all standardized named character references as per HTML,處理ambiguous ampersands和其他邊緣情況just like a browser would,擁有廣泛的測試套件,以及 - 出乎很多其他JavaScript解決方案 - 處理星體統一的符號就好了。 An online demo is available.

這裏是你如何使用它:

var html = 'Übergroße Äpfel mit Würmern'; 
var decoded = he.decode(html); 
// → `decoded` is now 'Übergroße Äpfel mit Würmern' 

See this related Stack Overflow answer.And this one, too.

相關問題