Аналог PHP функции htmlspecialchars_decode на JavaScript

Эта функция является обратной к htmlspecialchars(). Она преобразует специальные HTML-сущности обратно в соответствующие символы.

Конвертируемые сущности : &, » (когда ENT_NOQUOTES не установлена), ‘ (когда ENT_QUOTES установлена), < and >.

function htmlspecialchars_decode(string, quote_style) {
// http://kevin.vanzonneveld.net
// original by: Mirek Slugen
// improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: loonquawl
// * example 1: htmlspecialchars_decode(«

this -> «

«, ‘ENT_NOQUOTES’);
// * returns 1: ‘

this -> «

string = string.toString();

// Always encode
string = string.replace(‘/&/g’, ‘&’);
string = string.replace(‘//g, ‘>’);

// Encode depending on quote_style
if (quote_style == ‘ENT_QUOTES’) {
string = string.replace(‘/»/g’, ‘»‘);
string = string.replace(‘/’/g’, ‘\»);
} else if (quote_style != ‘ENT_NOQUOTES’) {
// All other cases (ENT_COMPAT, default, but not ENT_NOQUOTES)
string = string.replace(‘/»/g’, ‘»‘);
}

return string;
}