@livd98

Как превратить специальные символы?

Из бд приходят вопросы, но в них не превращаются символы, по типу: "&eacute";"&quot",'
Бд
Я применяю .replace
{question.replace(/"/g,'"')}
но символов много и как их изменить на те знаки, что нужно?
запрос выглядит так
export const request = (id) => {
  return fetch(`https://opentdb.com/api.php?amount=10&category=${id}&difficulty=easy&type=boolean`)
  .then(res => {
      if(!res.ok){
          throw new Error(`${res.status} - ${res.statusText}`)
      }
      return res.json()
  })
}
  • Вопрос задан
  • 436 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега JavaScript
В комментариях выяснили, что на чистом JS c использованием innerHTML проблем не возникает.
В вот возникает при использовании React.


React по умолчанию вставляет данные как текст, а как как HTML.
Чтобы этого избежать, можно использовать dangerouslySetInnerHTML.
Если данные приходят не из доверенного источника, то крайне желательно их предварительно обработать (например, с помощью https://www.npmjs.com/package/dompurify)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
const decode = (textarea => text => {
  textarea.innerHTML = text;
  return textarea.value;
})(document.createElement('textarea'));

decode("&eacute");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:20
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект