Проблема с функциями в том, что специальные символы не конвертятся. Например там написано … - ну так и получите в тексте, вместо ...
Поэтому бестовым способом является компиляция в дом и забор оттуда текста как текста. Но если в хтмле будет скрипт, он сработает.
Чтобы конвертировать туда-сюда функциями, я укоротил список ентитек функции html_entity_decode до практического минимума и засунул в свою либу, вот так:
var html_entity_decode=function(str) {
var m={"194":"¿","195":"ÿ","197":"Ÿ","198":"ƒ","203":"˜","206":"ο","207":"ϖ","226":"♦","38":"&","34":""","39":"'","60":"<","62":">"},d=0;
for(d in m)
str=str.split(m[d]).join(String.fromCharCode(d));
return str;
};