HTML entitás kódoló és dekódoló

Escape-eld a szöveget, hogy biztonságosan HTML-be kerülhessen, vagy alakítsd vissza az olyan entitásokat, mint a & és a €, olvasható karakterekké.

A böngésződben futNincs regisztrációNincs feltöltés

Kódolt

Hogyan használd: HTML entitás kódoló / dekódoló

  1. Válaszd a Kódolás módot a szöveg escape-eléséhez, vagy a Dekódolás módot az entitások karakterekké alakításához.
  2. Kódoláskor válaszd ki, mely karaktereket escape-elje: csak a HTML-speciálisakat, a nem ASCII karaktereket is, vagy mindent a betűk és számjegyek kivételével.
  3. Válassz nevesített (é), decimális (é) vagy hex (é) entitásokat.
  4. Másold ki az eredményt. Dekódoláskor az ismeretlen entitásokat felsoroljuk, hogy észrevedd az elírásokat.

Miért kell escape-elni a HTML-t?

Öt karakternek különleges jelentése van a HTML-ben: a & entitást kezd, a < és a > tageket határol, a " és a ' pedig attribútumértékeket zár le. Ha ezeket tartalmazó, felhasználótól származó szöveg escape-elés nélkül kerül az oldalra, az elronthatja az elrendezést, vagy ami rosszabb, scripteket injektálhat (cross-site scripting, XSS). Az escape-elés ezeket &amp;, &lt;, &gt;, &quot; és &#x27; formára alakítja, amelyet a böngésző szövegként jelenít meg.

Nevesített, decimális és hex entitások

Minden Unicode karakter leírható numerikus hivatkozással: decimálisan &#8364; vagy hexben &#x20AC; a € jelhez. Sok gyakori karakternek olvasható neve is van, például &euro;, &copy; vagy &nbsp;. A numerikus hivatkozások mindenhol működnek, az XML-ben is, amely csak öt nevesített entitást definiál. A nevesített entitások a forráskódban könnyebben olvashatók.

Kell kódolnom a nem ASCII karaktereket?

Nem, ha az oldalad UTF-8-ként van kiszolgálva, ahogy szinte minden modern oldal (<meta charset="utf-8">). Az olyan karakterek, mint az é, ü vagy 日本, közvetlenül leírhatók. A kódolásuk régi rendszereknél, e-mail-sablonoknál, vagy akkor hasznos, ha egy feldolgozási lánc elrontja a nem ASCII szöveget.

Az escape-elés kontextusfüggő

A HTML entitásos escape-elés az elemtartalomba és az idézőjeles attribútumokba kerülő szöveget védi. Nem elég a <script> blokkokban, inline eseménykezelőkben, CSS-ben vagy URL-ekben lévő értékekhez, amelyek mindegyikének saját kódolás kell. Kézi stringépítés helyett inkább a keretrendszered automatikus escape-elésére hagyatkozz (React, Vue, Jinja, Blade).

Gyakran ismételt kérdések

Mely karaktereket kell escape-elni HTML-ben?
Szöveges tartalomban az & és a < elengedhetetlen. Attribútumértékekben a használt idézőjelet is escape-eld. Mind az öt (& < > " ') escape-elése a biztonságos alapértelmezés.
Mi az a &amp;nbsp;?
Nem törő szóköz (U+00A0). Szóköznek látszik, de megakadályozza a sortörést, és nem olvad össze a szomszédos szóközökkel.
Miért lesz a &amp;copy2024 dekódolva ©2024?
A visszafelé kompatibilitás miatt a böngészők néhány régi entitást, például a &copy, &amp és &lt entitást, záró pontosvessző nélkül is dekódolnak. Ez a dekódoló ugyanezt a szabályt követi. A saját HTML-edben mindig írd ki a pontosvesszőt.
Az aposztróf &amp;apos; vagy &amp;#39;?
Az &apos; érvényes a HTML5-ben és az XML-ben, de a HTML 4-ben nem, ezért a numerikus &#39; vagy &#x27; a legkompatibilisebb választás, és ez a kódoló is ezt adja ki.

Kapcsolódó eszközök