У меня на поясе общего назначения всегда есть эта крошечная функция:
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes[0].nodeValue;
}
htmlDecode("&"); // "&"
htmlDecode(">"); // ">"
Это будет работать для всех HTML-сущностей .
Редактировать: Поскольку вы не находитесь в среде DOM, я думаю, вам придется сделать это "сложным" способом:
function htmlDecode (input) {
return input.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
//...
}
Если вам не нравятся цепные замены, вы можете построить объект для хранения ваших сущностей, например:
function htmlDecode (input) {
var entities= {
"&": "&",
"<": "<",
">": ">"
//....
};
for (var prop in entities) {
if (entities.hasOwnProperty(prop)) {
input = input.replace(new RegExp(prop, "g"), entities[prop]);
}
}
return input;
}