Unescape html-символы

Я пытаюсь сохранить значения из базы данных в HTML5 data атрибутов.

Благодаря этому ответу я могу избежать их, но как мне это изменить?

2 ответа

Решение

Просто измените функцию:

function unescapeHtml(unsafe) {
    return unsafe
        .replace(/&/g, "&")
        .replace(/&lt;/g, "<")
        .replace(/&gt;/g, ">")
        .replace(/&quot;/g, "\"")
        .replace(/&#039;/g, "'");
}

ДЕМО: http://jsfiddle.net/wazXb/

Чтобы обработать все потенциальные символы (вместо "известного" списка), используйте естественное экранирование браузера, позволяя ему преобразовывать строки HTML в текст с помощью этого:

function unescapeHTML(string) {
   var elt = document.createElement("span");
   elt.innerHTML = string;
   return elt.innerText;
}

Рекомендации:

Другие вопросы по тегам