Теория
HTML-сущности позволяют вставить в страницу символы, которые иначе были бы частью разметки: знак «меньше» записывают как \(\texttt{<}\), «больше» — \(\texttt{>}\), амперсанд — \(\texttt{&}\). Есть и именованные сущности для типографики, например \(\texttt{ }\) — неразрывный пробел.
Кодирование превращает специальные символы в сущности, декодирование — обратно. Это обязательный приём при выводе пользовательского текста в HTML: он не даёт тексту «сломать» разметку страницы.
Важно: вставлять в HTML непроверенный текст без экранирования опасно — через него возможна XSS-атака с внедрением скрипта.
Пример с решением
- Условие. Закодируйте строку «» для вставки в HTML.
- Формула. Спецсимволы → именованные сущности.
- Подстановка. \(\texttt{<}\) → \(\texttt{<}\), \(\texttt{>}\) → \(\texttt{>}\).
- Вычисление. Собираем: \(\texttt{<b>}\).
- Ответ. «<b>» — браузер покажет текст «», а не жирную разметку. Калькулятор выполнит обе замены; декодирование вернёт исходную строку.
Главное
- Сущности — безопасная запись спецсимволов.
- Ключевые: \(\texttt{<}\), \(\texttt{>}\), \(\texttt{&}\).
- Экранирование защищает от поломки разметки и XSS.