Допустим, нам нужно точно определить длину строки, которую нам прислал сервер в json-е.
И она может содержать множество html-мнемоник типа , ©, —, ©, длина которых получится больше чем 1 символ при подсчете.
Вот мы пришли к тому, что нам нужна функция в javascript-е, которая бы перекодировала эти html-мнемоники в обычные символы.
Можно писать, много регулярных выражений, заменяющих все мнемоники, а можно поступить проще, воспользовавшись возможностями браузера.
Идея такова: создаем DOM-элемент (не вставляя его в DOM-дерево), вставим в него наш текст и тут же заберем его обратно. Функцию назовем: htmlDecode()
Для простоты реализации воспользуемся jQuery.
var htmlDecode = function (value) {
return $('<div/>').html(value).text();
}
Пример использования:
var myString = "£10";
alert(myString.length); // length: 9
myString = htmlDecode(myString);
alert(myString.length); // length: 3