Эта функция является обратной к 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;
}