Усі посібники

Чому текст показує «&» і як це виправити

Опубліковано · Оновлено 2 хв читання

Коли текст показує «&» замість «&», HTML-сутність було закодовано зайвий раз. Інструмент декодує по одному рівню й повідомляє, коли залишається ще один.

Що таке HTML-сутність

Сутність це послідовність знаків, що представляє символ, зарезервований для коду сторінки. П’ять із них поширені.

СимволСутність
&&
<&lt;
>&gt;
"&quot;
' (прямий апостроф)&#039;

Звідки береться подвійне кодування

Текст іноді проходить через дві системи, кожна з яких кодує: редактор, потім шаблон сторінки. Кожен прохід перетворює «&» попередньої сутності. За допомогою Кодувати та декодувати HTML-сутності кодування «Tom & Jerry» дає «Tom &amp; Jerry», а кодування цього результату дає «Tom &amp;amp; Jerry».

ЕтапОтриманий текст
Початковий текстTom & Jerry
Закодовано один разTom &amp; Jerry
Закодовано двічіTom &amp;amp; Jerry

Браузер декодує один рівень під час відображення. Текст, закодований двічі, тому відображається з «&amp;» замість «&».

Декодувати по одному рівню

Інструмент прибирає один рівень сутностей за прохід. Якщо в результаті лишаються сутності, режим «Обидва» повідомляє про це, і ви запускаєте декодування знову на результаті.

ТекстПерше декодуванняДруге декодування
Tom &amp;amp; JerryTom &amp; JerryTom & Jerry
&amp;lt;b&amp;gt;gras&amp;lt;/b&amp;gt;&lt;b&gt;gras&lt;/b&gt;<b>gras</b>

Декодування одного рівня дає змогу не скасувати навмисне кодування: приклад коду, який має показати на екрані «&amp;», записується на сторінці як «&amp;amp;».

Акценти й символи

Декодування розуміє всі іменовані сутності, що закінчуються крапкою з комою, а не лише п’ять звичайних. «caf&eacute; &agrave; 5&nbsp;&euro; &copy; 2026» дає «café à 5 € © 2026», а нерозривний пробіл стає справжнім нерозривним пробілом.

Числові сутності

Числові сутності теж декодуються: «&#233;t&#xE9;» дає «été», а «&#x1F600;» так само, як «&#128512;», дають те саме емодзі.

Що інструмент залишає недоторканим

  • Невідома сутність на кшталт «&inconnue;» лишається як є.
  • Сутність без кінцевої крапки з комою, наприклад «&amp» або «&lt» у реченні, не зачіпається.
  • Адреса з параметрами, наприклад «https://exemple.fr/?a=1&param=2&copy=4», лишається точною: «&param» і «&copy» там не сприймаються за сутності.

Кодування коду для відображення

Щоб показати фрагмент коду на сторінці, закодуйте його один раз. Текст «<a href="x">l’été & plus</a>» дає «&lt;a href=&quot;x&quot;&gt;l&#039;été &amp; plus&lt;/a&gt;». Літери з акцентами не кодуються, лише п’ять зарезервованих символів.

Як уникнути проблеми

Кодуйте лише один раз, в останній момент, під час запису на сторінку. Для масової заміни залишків невдалого кодування підходить Знайти та замінити. Вебадреси підпорядковуються іншому кодуванню, описаному в посібнику Base64, хеш і закодована адреса, чим вони відрізняються.

Перевірка результату

  1. Запускайте декодування знову, доки інструмент повідомляє про сутності, що залишилися.
  2. Порівняйте з початковим текстом на екрані.
  3. Перевірте нерозривні пробіли та емодзі.

Кодувати та декодувати HTML-сутності

Автор: Lmaotools