function htmlSpecialChars(str)
{
var d = document.createElement("DIV");
d.appendChild(document.createTextNode(str));
return d.innerHTML;
}
/* Только уже кодированная строка. Не должно быть символов "<" и т.п. */
function htmlSpecialCharsDecode(str)
{
var d = document.createElement("div");
d.innerHTML = str;
return d.firstChild.nodeValue;
}
Правда, проблемы, для которых нужна подобная функция в JS обычно оказываются высосанными из пальца.