HTML-entiteter: koding og dekoding
Kod og dekod HTML-entiteter for spesialtegn som &, <, > og ikke-ASCII-tegn. Alt skjer lokalt.
Slik fungerer det
Skriv inn tekst og velg «Til entiteter» for å gjøre om spesialtegn som &, <, >, " og ' samt ikke-ASCII-tegn til HTML-entiteter, eller «Fra entiteter» for å dekode dem tilbake til vanlig tekst. Nyttig når du skal vise kode eller spesialtegn trygt i HTML. Alt skjer lokalt i nettleseren.
Om dette verktøyet
HTML-entiteter er spesialkoder som lar deg vise tegn som ellers ville forvirret nettleseren, som < for «mindre enn», & for et og-tegn eller ø for bokstaven ø i eldre ASCII-baserte kontekster. De brukes også for emojier, matematiske symboler og typografiske finesser som ikke sitter på tastaturet. Dette verktøyet koder og dekoder begge veier: lim inn rå tekst for å få entitetsversjonen, eller lim inn kodet tekst for å få den lesbare varianten tilbake. Alt kjøres i nettleseren.
Slik bruker du det
- Lim inn teksten i «Rå tekst»-feltet for å kode den, eller i «HTML»-feltet for å dekode.
- Velg om du vil bruke navngitte entiteter (å) eller numeriske (å / å).
- Kopier resultatet med ett klikk fra motsatt felt.
- Bruk «bare farlige tegn» hvis du vil beholde bokstaver som «æøå» og bare rømme <, >, &, ", '.
Eksempler
<div class="x">Hei & god tur!</div><div class="x">Hei & god tur!</div>æøåæøåVanlige bruksområder
- Trygg innsetting av brukerinput i HTML uten fare for XSS.
- Kopiere kildekode inn i en bloggpost eller wiki uten at taggene renderes.
- Håndtere spesialtegn i e-postmaler som må være ASCII-rene.
- Dekode klippet innhold fra visning av HTML-kilde.
- Vise matematikk (∑, π), pilteikn (←, →) og valuta (€, £) uansett font.
Ofte stilte spørsmål
- Er navngitte entiteter tryggere enn numeriske?
- Ikke i seg selv. Numeriske entiteter (A) er alltid gyldige i HTML og XML, mens navngitte (Å) må stå i tabellen for språket ditt. XML-basert innhold, som SVG-attributter, godtar bare fem navngitte: amp, lt, gt, quot, apos. Bruk numeriske ved tvil.
- Bør jeg kode alle tegn?
- Nei. Med UTF-8 er det bare &, <, > og eventuelt " og ' som må kodes for at HTML-en skal være trygg. Overkoding blåser opp filstørrelsen og gjør kilden mindre lesbar.
- Hva er forskjellen på å og å?
- Ingen visuell forskjell. Første er desimal-notasjon, andre er heksadesimal, begge peker på samme Unicode-kodepunkt (U+00E5, «å»). Bruk det du synes er lettest å lese.
- Beskytter dette mot XSS?
- Delvis. Å kode <, >, &, ", ' beskytter mot injeksjon i tekstinnhold og attributter, men ikke inne i <script>-blokker, JavaScript-strings eller URL-kontekster. Bruk kontekstbevisste helpers (Astro, React, DOMPurify) i produksjon.
Teknisk bakgrunn
HTML5-spesifikasjonen definerer ca. 2 200 navngitte entiteter, arvet fra SGML og XHTML. En navngitt entitet består av «&», et navn og «;» (eks. &), en numerisk entitet av «&#», et desimaltall og «;» (&), en heksadesimal av «&#x», et hextall og «;» (&). Alle refererer til Unicode-kodepunkt. Parseren gjenkjenner referansene når «&» følges av gyldige tegn før neste «;», med en spesiell «named character reference»-tabell for kortformer. Kun fem entiteter er obligatoriske i XML (og dermed SVG/XHTML): &, <, >, ", '. HTML5 tillater at semikolonet utelates for enkelte legacy-entiteter (& = &), men det anbefales alltid å ha det med. Fra et sikkerhetsperspektiv er kontekstbevisst escaping viktigere enn å pakke alle spesialtegn: en verdi som skal inn i en URL må URL-encodes, inn i en attributt HTML-encodes, inn i JavaScript-streng JS-escapes.