Preskočiť na hlavný obsah

Kódovač a dekodér HTML zadarmo

Zakódujte špeciálne znaky na HTML entity alebo dekódujte entity späť na čistý text. Okamžite, vo vašom prehliadači.

Po načítaní funguje offline
Výstup:
Príklady:
Obyčajný text / HTML
Kódovaný HTML
Výstup sa zobrazí tu...
Referencia bežných HTML entít
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

Bežné použitia

  • Kódujte obsah pre RSS kanályKódujte HTML obsah na opisy položiek RSS kanálov — vyžaduje sa podľa štandardu RSS 2.0.
  • Dezinfekujte vstup používateľa na HTML výstupKódujte reťazce od používateľa pred vložením do HTML — zabraňuje útokom XSS injekcie.
  • Zakódujte špeciálne znaky pre HTML e-mailZakódujte znaky ako &, <, >, a © ako HTML entity, aby sa správne zobrazili vo všetkých e-mailových klientoch.
  • Zakódujte obsah používateľa pre zobrazenie na webeZabrániť XSS útokom zakódovaním obsahu generovaného používateľom pred vykresľovaním na HTML stránkach.
  • Zakódujte obsah pre XMLZakódujte špeciálne znaky pre XML súbory, RSS kanály, mapy stránok a SOAP záťaže.

Ako to funguje

Kódovanie a dekódovanie HTML tu beží výhradne vo vašom prehliadači pomocou ručne napísaného nahradenia regulárnym výrazom a pevne zakódovanej vyhľadávacej tabuľky pomenovaných entít — bez kódovacej knižnice tretej strany, bez okruhu na server. Pri dekódovaní menej bežných pomenovaných entít (ako &aacute; alebo &ldquo;) sa nástroj spolieha na vlastný parser HTML prehliadača ako bezplatné záložné riešenie.

  1. 1
    Regulárny výraz vyhľadáva znaky na nahradenie
    Pri kódovaní beží nad vaším vstupom jeden z dvoch regulárnych výrazov citlivých na Unicode: cielený vzor pokrývajúci približne 25 bežných znakov významných pre HTML a špeciálnych znakov, alebo širší vzor, ktorý zachytí každý kódový bod nad U+007F. Každá zhoda sa zachytí znak po znaku.
  2. 2
    Vyhľadávacia tabuľka alebo codePointAt() vytvárajú entitu
    Pre výstup s pomenovanými entitami sa zhodné znaky vyhľadajú v pevne zakódovanej tabuľke (napr. & → &amp;, © → &copy;). Pre desiatkový alebo hexadecimálny výstup String.codePointAt() získa kódový bod Unicode a formátuje ho ako &#NNN; alebo &#xNNN; — náhradné páry (surrogate pairs) sa spracúvajú správne, pretože regulárny výraz používa príznak 'u' Unicode.
  3. 3
    Jednoprechodový regulárny výraz dekóduje entity späť na znaky
    Pri dekódovaní jeden prechod regulárnym výrazom identifikuje všetky tokeny entít (&amp;, &#65;, &#x41; atď.) a smeruje každý na správny obslužný program: hexadecimálny parseInt (báza 16), desiatkový Number(), spätné vyhľadávanie pomenovanej entity, alebo — pre akúkoľvek entitu, ktorá nie je v pevne zakódovanej tabuľke — element textarea, ktorého innerHTML prehliadač spracuje natívne a vráti správny znak z vlastnej tabuľky entít prehliadača.
  4. 4
    Výsledok sa zobrazí okamžite; kopírovanie do schránky cez Clipboard API
    Výstup sa synchrónne prepočítava pri každom stlačení klávesu cez React useMemo. Kopírovanie používa navigator.clipboard.writeText() — moderné asynchrónne Clipboard API — s tichým zachytením chyby pre obmedzené kontexty.

Súvisiace nástroje

Často kladené otázky