google-apps-scripthtml-entitiese4x

How to decode HTML entities


I have string variable with HTML entities:

var str = 'Some text & text';

I want to convert (decode) it to original characters:

Some text & text.

JavaScript doesn't have built-in function to achieve wanted result. I can't use jQuery or DOM objects because I need it to work in Google Apps Script.

How can I do that in simple way?


Solution

  • You can use built-in Xml Services (reference):

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

    or you can use built-in E4X XML class.

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