Пять символов, которые ломают разметку
Заменяет угловые скобки, амперсанды и кавычки на HTML-сущности или выполняет обратное преобразование.
В HTML есть несколько зарезервированных символов, и оставленный в тексте знак «меньше» превращает остаток страницы в сломанный тег.
Экранирование — ещё и базовая защита от XSS. Любой пользовательский текст, попадающий в страницу, обязан быть экранирован, иначе присланный тег скрипта станет исполняемым.
Что показывает калькулятор
- Текст с зарезервированными символами, заменёнными на сущности
- Обратное преобразование сущностей в обычные символы
- Длину результата, которая при экранировании заметно растёт
Что важно учитывать
- Экранируются пять значимых символов: & < > " и апостроф.
- При раскодировании обрабатываются именованные сущности и числовые ссылки вида «.
Частые вопросы
Какие символы обязательно экранировать?
Амперсанд, обе угловые скобки и кавычки. Амперсанд обрабатывают первым, иначе получится двойное экранирование только что созданных сущностей.
Защищает ли экранирование от XSS?
Это основа защиты для текста, вставляемого в HTML. Для атрибутов, URL и JavaScript нужны свои правила экранирования дополнительно.
Чем &quot; отличается от &#34;?
Ничем: это именованная сущность и числовая ссылка на один и тот же символ. Именованные просто читаются легче.
Нужно ли экранировать кириллицу?
Нет. При UTF-8 кириллица и диакритика пишутся напрямую. Экранирования требуют только зарезервированные символы.
Мини-пример расчёта
Кусок разметки как текст
Входные данные: <div class="card">Привет & пока</div>
Результат: <div class="card">Привет & пока</div>
Комментарий: В таком виде браузер покажет саму разметку, а не выполнит её — именно это нужно для примера кода.