2012-07-06 80 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