Kodér a dekodér HTML entit

Escapujte text, aby se dal bezpečně vložit do HTML, nebo převeďte entity jako & a € zpět na čitelné znaky.

Běží v prohlížečiBez registraceNic se neodesílá

Zakódováno

Jak používat: Kodér / dekodér HTML entit

  1. Zvolte Kódovat pro escapování textu, nebo Dekódovat pro převod entit zpět na znaky.
  2. Při kódování zvolte, které znaky escapovat: jen speciální znaky HTML, navíc všechny znaky mimo ASCII, nebo vše kromě písmen a číslic.
  3. Vyberte pojmenované entity (é), desítkové (é) nebo šestnáctkové (é).
  4. Zkopírujte výsledek. Při dekódování se vypíšou neznámé entity, abyste odhalili překlepy.

Proč escapovat HTML?

Pět znaků má v HTML zvláštní význam: & začíná entitu, < a > ohraničují tagy a " a ' uzavírají hodnoty atributů. Pokud se text od uživatele obsahující tyto znaky vloží do stránky bez escapování, může rozbít rozvržení nebo, hůř, vložit skripty (cross-site scripting, XSS). Escapování je převede na &amp;, &lt;, &gt;, &quot; a &#x27;, které prohlížeč zobrazí jako text.

Pojmenované, desítkové a šestnáctkové entity

Každý znak Unicode lze zapsat jako číselný odkaz: desítkově &#8364; nebo šestnáctkově &#x20AC; pro €. Mnoho běžných znaků má i čitelný název, třeba &euro;, &copy; nebo &nbsp;. Číselné odkazy fungují všude, včetně XML, který definuje jen pět pojmenovaných entit. Pojmenované entity se ve zdrojovém kódu lépe čtou.

Musím kódovat znaky mimo ASCII?

Ne, pokud je stránka servírována v UTF-8, jako téměř každý moderní web (<meta charset="utf-8">). Znaky jako é, ü nebo 日本 lze psát přímo. Jejich kódování se hodí pro starší systémy, e-mailové šablony nebo když nějaký proces poškozuje text mimo ASCII.

Escapování závisí na kontextu

Escapování HTML entit chrání text v obsahu elementů a v atributech v uvozovkách. Nestačí pro hodnoty uvnitř bloků <script>, inline obslužných rutin událostí, CSS nebo URL, které potřebují vlastní kódování. Upřednostněte automatické escapování svého frameworku (React, Vue, Jinja, Blade) před ručním skládáním řetězců.

Časté dotazy

Které znaky je nutné v HTML escapovat?
V textovém obsahu jsou nezbytné & a <. V hodnotách atributů escapujte i použitou uvozovku. Escapování všech pěti (& < > " ') je bezpečná výchozí volba.
Co je &amp;nbsp;?
Nezlomitelná mezera (U+00A0). Vypadá jako mezera, ale zabraňuje zalomení řádku a neslučuje se se sousedními mezerami.
Proč se &amp;copy2024 dekóduje na ©2024?
Kvůli zpětné kompatibilitě prohlížeče dekódují několik starých entit, například &copy, &amp a &lt, i bez koncového středníku. Tento dekodér dodržuje stejné pravidlo. Ve vlastním HTML středník vždy pište.
Je apostrof &amp;apos;, nebo &amp;#39;?
&apos; je platné v HTML5 a XML, ale ne v HTML 4, takže číselné &#39; nebo &#x27; je nejkompatibilnější volba – a právě to tento kodér vypisuje.

Související nástroje