Как конвертировать 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, время: 04:47. |