onlinetools.dev

Кодування / декодування HTML-сутностей

Екрануйте текст для HTML або перетворюйте сутності на кшталт & назад на символи

Працює локально
loading…
Про цей інструмент

Екрануйте текст для безпечного включення в HTML — & стає &amp;, < стає &lt; — або декодуйте насичений сутностями текст назад у читабельні символи, з підтримкою іменованих сутностей (&rarr;), десяткових (&#169;) і шістнадцяткових (&#xA9;) числових посилань.

Кодування має два рівні: п’ять ключових символів, що ламають структуру HTML (& < > " '), — цього достатньо для коректності, — або все нелатинське поза ASCII, що корисно, коли якийсь інструмент між вами й сторінкою псує UTF-8. Режим «лише числові» пропускає іменовані сутності заради максимальної сумісності зі суворими парсерами XML, які гарантують лише п’ять наперед визначених.

Декодер — та половина, якою користуються щодня: вставте зіскрібаний фрагмент чи відповідь API, повну &#x27;, і отримайте чистий текст. Невідомі назви сутностей проходять недоторканими, а не вгадуються.

Часті запитання

Які символи обов’язково екранувати в HTML?
У текстовому вмісті: & і <. У значеннях атрибутів: ще й лапка, що обмежує атрибут (" або '). Екранування > є звичаєм, але не є суворо обов’язковим. Усе інше може стояти буквально в документі UTF-8.
Чи є кодування сутностей захистом від XSS?
Екранування п’яти структурних символів — це ядро кодування виводу в контексті HTML, так, але тільки для текстового вмісту й значень атрибутів. URL, рядки JavaScript і CSS потребують власного кодування під свій контекст; саме лише екранування сутностей не робить довільну ін’єкцію там безпечною.
Іменовані чи числові сутності — які виводити?
Числові посилання (&#xE9;) працюють у будь-якому парсері HTML та XML. Іменовані читабельніші, але XML наперед визначає лише п’ять, тож &eacute; ламає сувору лінію XML/XHTML. Коли сумніваєтеся — числові.
Чому в моїх даних видно &amp;#39; (подвійне кодування)?
Два шари закодували по разу кожен: & з першого кодування було екрановано вдруге. Декодуйте тут двічі, щоб відновити текст, а тоді знайдіть і полагодьте шар, який кодувати не повинен.
Пов’язані інструменти