Přeskočit na hlavní obsah

Kodér a dekodér HTML zdarma

Kódujte speciální znaky do HTML entit nebo dekódujte entity zpět do prostého textu. Okamžitě, ve vašem prohlížeči.

Funguje offline po načtení
Výstup:
Příklady:
Prostý text / HTML
Zakódované HTML
Výstup se zobrazí zde...
Přehled běžných HTML entit
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

Běžná použití

  • Zakódujte obsah pro RSS kanályZakódujte obsah HTML pro popisy položek RSS kanálů - vyžadováno standardem RSS 2.0.
  • Vyčistěte vstup uživatele pro výstup HTMLZakódujte řetězce zadané uživatelem před jejich vložením do HTML - zabráňte útokům injektáží XSS.
  • Kóduj Speciální znaky pro HTML e-mailKóduj znaky jako &, <, > a © jako HTML entity tak, aby se správně vykreslily ve všech e-mailových klientech.
  • Kóduj Obsah uživatele pro webové zobrazeníZabraň XSS útokům kódováním obsahu generovaného uživatelem dříve, než bude vykreslen na HTML stránkách.
  • Kóduj Obsah pro XMLKóduj speciální znaky pro XML soubory, RSS kanály, sitemaps a SOAP datové části.

Jak to funguje

Kódování a dekódování HTML zde běží zcela ve vašem prohlížeči pomocí ručně napsaného nahrazování regulárními výrazy a pevně dané vyhledávací tabulky pojmenovaných entit — bez kódovací knihovny třetí strany, bez zpáteční cesty na server. Pro dekódování méně běžných pojmenovaných entit (jako &aacute; nebo &ldquo;) nástroj deleguje na vlastní parser HTML prohlížeče jako bezplatnou zálohu.

  1. 1
    Regulární výraz vyhledává znaky k nahrazení
    Při kódování běží přes váš vstup jeden ze dvou regulárních výrazů s ohledem na Unicode: cílený vzor pokrývající zhruba 25 běžných a speciálních znaků významných pro HTML, nebo širší vzor, který zachytí každý kódový bod nad U+007F. Každá shoda je zachycena znak po znaku.
  2. 2
    Vyhledávací tabulka nebo codePointAt() vytváří entitu
    Pro výstup pojmenovaných entit se shodné znaky vyhledávají v pevně dané tabulce (např. & → &amp;, © → &copy;). Pro desítkový nebo šestnáctkový výstup String.codePointAt() získá kódový bod Unicode a naformátuje jej jako &#NNN; nebo &#xNNN; — náhradní páry (surrogate pairs) se zpracovávají správně, protože regulární výraz používá příznak Unicode 'u'.
  3. 3
    Jeden průchod regulárním výrazem dekóduje entity zpět na znaky
    Při dekódování jeden průchod regulárním výrazem identifikuje všechny tokeny entit (&amp;, &#65;, &#x41; atd.) a nasměruje každý do správného handleru: hex parseInt (báze 16), desítkové Number(), reverzní vyhledávání pojmenovaných entit, nebo — pro jakoukoli entitu, která není v pevně dané tabulce — prvek textarea, jehož innerHTML prohlížeč rozebere nativně, čímž vrátí správný znak z vestavěné entitní tabulky prohlížeče.
  4. 4
    Výsledek se zobrazuje okamžitě; kopírování do schránky přes Clipboard API
    Výstup se synchronně přepočítává při každém stisku klávesy přes React useMemo. Kopírování používá navigator.clipboard.writeText() — moderní asynchronní Clipboard API — s tichým zachycením chyb v omezených kontextech.

Související nástroje

Časté dotazy