htmlDecode для JavaScript или как раскодировать html

2012-10-01

Допустим, нам нужно точно определить длину строки, которую нам прислал сервер в json-е.
И она может содержать множество html-мнемоник типа  , ©, —, ©, длина которых получится больше чем 1 символ при подсчете.
Вот мы пришли к тому, что нам нужна функция в javascript-е, которая бы перекодировала эти html-мнемоники в обычные символы.

Можно писать, много регулярных выражений, заменяющих все мнемоники, а можно поступить проще, воспользовавшись возможностями браузера.
Идея такова: создаем DOM-элемент (не вставляя его в DOM-дерево), вставим в него наш текст и тут же заберем его обратно. Функцию назовем: htmlDecode()
Для простоты реализации воспользуемся jQuery.

var htmlDecode = function (value) {
return $('<div/>').html(value).text();
}

Пример использования:


var myString = "&pound;10";
alert(myString.length); // length: 9
myString = htmlDecode(myString);
alert(myString.length); // length: 3



Добавить комментарий