Сущности HTML

Кодирует <, >, & и кавычки для HTML или возвращает сущности обратно в символы.

Текст, который должен выжить внутри HTML

Если в строке есть < или & и вы кладёте её в HTML, браузер примет это за разметку. Кодирование превращает такие знаки в сущности. Декодирование возвращает сущности в символы, когда вы читаете исходник. Это не экранирование JSON и не вырезание тегов: меняются символы.

Как пользоваться

  1. Вставьте текст или строку сущностей.
  2. Выберите «Экранировать» или «Снять экранирование». Кодирование всегда экранирует &, <, > и оба вида кавычек.
  3. Оставьте «Кодировать и символы вне ASCII», если 中文 и буквы с диакритикой нужны как &#xHHHH;. Снимите, когда страница в UTF-8 и меняться должны только знаки разметки.
  4. Декодирование принимает десятичные сущности вроде &#20013;, шестнадцатеричные вроде &#x4E2D; и короткий список имён: amp, lt, gt, quot, apos, nbsp, copy, reg, trade, mdash, ndash, hellip, laquo, raquo, bull, middot, euro, pound, yen, cent, sect, para, deg, plusmn, times, divide, micro. Имени нет в списке — оно остаётся как есть.

Чего ждать

Кодирование не оборачивает результат в тег и не добавляет doctype. Уже начатый сущностью & при повторном кодировании экранируется ещё раз, и получается &amp;. Одно декодирование снимает один слой. Имена вне списка, в том числе многие из HTML5, остаются как вы их вставили. Числовая сущность, которая не является допустимым кодом символа, остаётся текстом.

Где это нужно

  • Положить пользовательскую строку в HTML так, чтобы она не стала тегом.
  • Прочитать ленту или старую страницу, где китайский хранился числовыми сущностями.
  • Посмотреть, что покажет шаблон, до отрисовки.

Вопросы

Почему &euro; осталось текстом?

Если шло кодирование, сам амперсанд экранирован, и вы видите исходник сущности. Переключитесь на декодирование, чтобы известное имя стало символом.

Мне нужны все имена HTML5.

Страница покрывает имена из обычного текста плюс любую числовую сущность. Неизвестное имя сохраняется, чтобы опечатка была видна, а не пропадала.