@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()
  })
}
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега JavaScript
В комментариях выяснили, что на чистом JS c использованием innerHTML проблем не возникает.
В вот возникает при использовании React.


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

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

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

Войти через центр авторизации
Похожие вопросы
16 мая 2022, в 08:34
1500 руб./за проект
16 мая 2022, в 08:14
3000 руб./за проект
16 мая 2022, в 07:40
3000 руб./за проект