HTML-entitetskoder og -dekoder

Escape tekst, så den er sikker at sætte ind i HTML, eller gør entiteter som & og € til læsbare tegn igen.

Kører i din browserIngen tilmeldingIntet uploades

Kodet

Sådan bruger du HTML-entitetskoder / -dekoder

  1. Vælg Kod for at escape tekst eller Afkod for at gøre entiteter til tegn igen.
  2. Ved kodning vælger du, hvilke tegn der skal escapes: kun HTML-specialtegnene, også alle ikke-ASCII-tegn eller alt undtagen bogstaver og cifre.
  3. Vælg navngivne entiteter (é), decimale (é) eller hex (é).
  4. Kopiér resultatet. Ved afkodning vises ukendte entiteter, så du kan opdage tastefejl.

Hvorfor escape HTML?

Fem tegn har særlig betydning i HTML: & starter en entitet, < og > afgrænser tags, og " og ' afslutter attributværdier. Hvis brugerindtastet tekst med disse tegn sættes ind på en side uden escaping, kan den ødelægge layoutet eller, værre, injicere scripts (cross-site scripting, XSS). Escaping gør dem til &amp;, &lt;, &gt;, &quot; og &#x27;, som browseren viser som tekst.

Navngivne, decimale og hex-entiteter

Alle Unicode-tegn kan skrives som en numerisk reference: decimal &#8364; eller hex &#x20AC; for €. Mange almindelige tegn har også et læsbart navn, som &euro;, &copy; eller &nbsp;. Numeriske referencer virker overalt, også i XML, som kun definerer fem navngivne entiteter. Navngivne entiteter er nemmere at læse i kildekode.

Skal jeg kode ikke-ASCII-tegn?

Ikke hvis din side serveres som UTF-8, hvilket næsten alle moderne sites gør (<meta charset="utf-8">). Tegn som é, ü, æ, ø, å eller 日本 kan skrives direkte. Det er nyttigt at kode dem til ældre systemer, e-mailskabeloner, eller når en pipeline ødelægger ikke-ASCII-tekst.

Escaping afhænger af konteksten

Escaping med HTML-entiteter beskytter tekst i elementindhold og attributværdier i anførselstegn. Det er ikke nok til værdier i <script>-blokke, inline event handlers, CSS eller URL'er, som hver kræver deres egen kodning. Foretræk dit frameworks automatiske escaping (React, Vue, Jinja, Blade) frem for manuel sammensætning af strenge.

Ofte stillede spørgsmål

Hvilke tegn skal escapes i HTML?
I tekstindhold er & og < afgørende. I attributværdier skal du også escape det anførselstegn, du har brugt. At escape alle fem (& < > " ') er det sikre standardvalg.
Hvad er &amp;nbsp;?
Et hårdt mellemrum (U+00A0). Det ligner et mellemrum, men forhindrer linjeskift og slås ikke sammen med nabomellemrum.
Hvorfor afkodes &amp;copy2024 til ©2024?
Af hensyn til bagudkompatibilitet afkoder browsere nogle få ældre entiteter, såsom &copy, &amp og &lt, selv uden afsluttende semikolon. Denne dekoder følger samme regel. Skriv altid semikolonnet i din egen HTML.
Er apostroffen &amp;apos; eller &amp;#39;?
&apos; er gyldig i HTML5 og XML, men ikke i HTML 4, så den numeriske &#39; eller &#x27; er det mest kompatible valg og det, denne koder giver som output.

Relaterede værktøjer