HTML-сущности
Кодируйте текст для HTML или декодируйте сущности обратно в символы — пять ломающих разметку знаков, именованные наборы Latin-1 и символов, числовые ссылки вплоть до эмодзи. Декодирование выполняется ровно один раз — текст про HTML остаётся нетронутым.
Сущности, которые стоит узнавать
| Сущность | Символ | Где встречается |
|---|---|---|
& < > | & < > | тройка, которую обязан писать каждый шаблонизатор |
" ' | " ' | внутри значений атрибутов |
| неразрывный пробел | удержать «10 кг» на одной строке |
— – | — – | типографские тире |
© ™ € | © ™ € | правовые и валютные знаки |
🙂 | 🙂 | всё безымянное, по кодовой точке |
Всё работает в браузере; ничего из вставленного никуда не отправляется.
Частые вопросы
Какие символы трогает минимальное кодирование?
Ровно пять: & становится &, < и > — < и >, а две кавычки — " и '. Это символы, способные вырваться из разметки или атрибута; всё остальное, включая буквы с диакритикой и эмодзи, совершенно законно в HTML-документе как есть, когда страница объявляет UTF-8.
Когда нужен полный режим?
Когда текст пройдёт через систему, портящую байты за пределами ASCII — старый почтовый конвейер, древний CMS, конфиг с неясной кодировкой. Полный режим записывает каждый не-ASCII символ именованной сущностью, где она есть (é, —), и hex-ссылкой (ə), где нет — чистый ASCII, переживающий любой транспорт.
Почему декодер оставляет &lt; как <?
Потому что декодирование должно выполняться ровно один раз. &lt; — это кодировка четырёх символов <: так пишет человек, документирующий HTML. Декодер, работающий до стабилизации, превратил бы это в <, испортив любой документ о разметке. Если текст действительно закодирован дважды — запустите декодирование дважды, осознанно.
Почему AT&T; прошло без изменений?
Сущности с именем T не существует, поэтому &T; — не ссылка, а два символа прозы, случайно похожие на неё. Съесть их значило бы изобрести текст, которого не было. То же с одиночными амперсандами: a & b не требует декодирования, и инструмент не гадает.
Что за формы A и 🙂?
Числовые ссылки на символы: десятичная после &#, шестнадцатеричная после &#x — они называют кодовую точку Unicode напрямую и покрывают весь Unicode: 🙂 — это 🙂. Поэтому полное кодирование прибегает к ним для символов без имени. Ссылки на невозможные кодовые точки (за U+10FFFF, одиночные суррогаты) остаются нетронутыми, а не заменяются мусором.
Это то же самое, что URL-кодирование?
Нет — другой слой, другой синтаксис. Процентное кодирование URL (%20, %C3%A9) защищает символы внутри веб-адресов; HTML-сущности — внутри разметки. URL внутри HTML-атрибута может законно требовать обоих, в правильном порядке: сначала процентно кодируется URL, затем сущностями — атрибут. Вторую половину делает URL-кодировщик на этом сайте.
Похожие инструменты
- Конструктор схем и блок-схемРисуйте блок-схемы и диаграммы, соединяйте блоки стрелками, которые прокладывают себя сами, и раскладывайте всё автоматически. Экспорт в SVG.
- Генератор паролейСоздавайте надёжные пароли криптографическим генератором браузера с оценкой стойкости.
- Тестер Регулярных ВыраженийПроверяйте регулярные выражения с живой подсветкой, группами и предпросмотром замены — движок JavaScript, рубильник для катастрофических паттернов.