Как конвертировать HTML-сущности в строке в соответствующие символы
Пробовал так
var str = 'Только буквы, цифры и символы <b>. – _</b>'; function convert(str){ str = str.replace('&','&'); str = str.replace('>','>'); str = str.replace('<','<'); str = str.replace('"','"'); str = str.replace("'","'"); return str; } //выводит console.log(convert(str)); //Только буквы, цифры и символы <b>. – _</b> //нужно чтобы выводило следующее: //Только буквы, цифры и символы <b>. – _</b> Пробовал также: var str = 'Только буквы, цифры и символы <b>. – _</b>'; function convert(str){ str = str.replace('&','&'); str = str.replace('>','>'); str = str.replace('<','<'); str = str.replace('"','"'); str = str.replace("'","'"); return str; } var ptrn = new RegExp("\\b(&|>|<|"|')\\b", "gi"); function escapeHtml(str) { return String(str).replace(ptrn, function (s) { return convert[s]; }); } console.log(escapeHtml(str)); //ничего не выводит Можно также на jquery ответить... Заранее, благодарю! |
var str = 'Только буквы, цифры и символы <b>. – _</b>'; function convert(str){ return str.replace(/"/g,'"') .replace(/>/g,'>') .replace(/</g,'<') .replace(/&/g,'&') } console.log(convert(str)); |
voraa,
Благодарю, помог! Все работает. + в карму... |
ozoro,
var str = 'Только буквы, цифры и символы <b>. – _</b>'; function convert(str){ var div = document.createElement('div'); div.innerHTML = str; return div.textContent; } console.log(convert(str)); |
рони
Не достаточно универсально. В Worker нельзя использовать. |
Цитата:
|
voraa,
а так будет работать в Worker? var str = 'Только буквы, цифры и символы <b>. 11– _</b>'; function convert(str){ return new DOMParser().parseFromString(str, "text/html").body.textContent; } console.log(convert(str)); |
Worker-ам недоступен глобальный объект windows.
Поэтому там нет document и всего, что с ним связано. Там свой глобальный объект self. https://developer.mozilla.org/en-US/...obalScope/self |
voraa,
спасибо. |
Часовой пояс GMT +3, время: 11:19. |