2012-07-06 65 views
4

我有一個HTML實體字符串變量:如何解碼HTML實體

var str = 'Some text & text';

我想轉換(解碼)到原始字符:

Some text & text

JavaScript沒有內置函數來實現想要的結果。我無法使用jQuery或DOM對象,因爲我需要它在Google Apps腳本中工作。

我該如何以簡單的方式做到這一點?

回答

12

您可以使用內置的XML服務:

var str = 'Some text & text'; 
var decode = XmlService.parse('<d>' + str + '</d>'); 
var strDecoded = decode.getElement().getText(); 

,或者您可以使用內置的E4X XML類。

var str = 'Some text &#x26; text'; 
var decode = new XML('<d>' + str + '</d>'); 
var strDecoded = decode.toString(); 
+0

感謝您分享這個令人敬畏的黑客! :)有沒有辦法去其他即將字符串中的特殊字符轉換爲其相應的html實體?謝謝! :) – 2013-01-03 02:29:09

+1

第一個示例中的「Xml.parse」已被棄用,但第二個示例正常工作。 – Hafez 2016-04-27 00:47:12

+0

@Hafez'Xml.parse'已被替換爲['XmlService.parse'](https://developers.google.com/apps-script/reference/xml-service/xml-service#parse(String))。 – FTP 2016-11-30 16:03:38