HTML Escapen/Unescapen

Wandelt Sonderzeichen wie &, <, >, " und ' in HTML-Entitäten um (escapen) oder wandelt Entitäten zurück in die ursprünglichen Zeichen (unescapen). Nützlich zum Schutz vor XSS und zum Einbetten von Text in HTML.

Wichtige benannte HTML-Entitäten

Zeichen Benannte Entität Numerische Referenz Beschreibung
& &amp; &#38; Kaufmanns-Und (Symbol für "und")
< &lt; &#60; Kleiner-als-Zeichen (identisch mit dem Startzeichen eines HTML-Tags)
> &gt; &#62; Größer-als-Zeichen (identisch mit dem Endzeichen eines HTML-Tags)
" &quot; &#34; Doppeltes Anführungszeichen (Trennzeichen für Attributwerte)
' &apos; &#39; Einfaches Anführungszeichen (Trennzeichen für Attributwerte)
  &nbsp; &#160; Geschütztes Leerzeichen (verhindert einen Zeilenumbruch)
© &copy; &#169; Copyright-Symbol
® &reg; &#174; Symbol für eingetragene Marke
&trade; &#8482; Markensymbol
&euro; &#8364; Eurozeichen
¥ &yen; &#165; Yen-Zeichen
¢ &cent; &#162; Cent-Zeichen

Tipps

  • HTML-Escaping ist die Grundlage der XSS-Prävention (Cross-Site-Scripting). Escapen Sie Benutzereingaben immer, bevor Sie sie in HTML einbetten.
  • Das Zeichen & muss immer zuerst escaped werden. Wenn Sie zuerst andere Zeichen umwandeln, wird das & im neu erzeugten &amp; doppelt escaped.
  • Beim Einbetten einer Zeichenkette in einen Attributwert ist es sicherer, sowohl " (doppeltes Anführungszeichen) als auch ' (einfaches Anführungszeichen) zu escapen, nicht nur eines davon.
  • Dieses Tool kann dezimale numerische Referenzen (&#38;), hexadezimale numerische Referenzen (&#x26;) sowie die wichtigsten benannten Entitäten (wie &amp;) unescapen.
  • Viele Template-Engines (Blade, JSX, Vue usw.) escapen HTML beim Einsetzen von Variablen automatisch. Verwenden Sie jedoch eine Syntax für "rohe HTML-Ausgabe" wie {!! !!} oder v-html, müssen Sie den Wert selbst escapen.

Häufig gestellte Fragen

Diese drei Zeichen – &lt;, &gt; und &amp; – sind besonders, weil HTML-Parser sie als Teil der Syntax selbst interpretieren. Werden sie nicht escaped, kann der Browser sie fälschlicherweise als Anfang oder Ende eines Tags auffassen, was zu zerstörtem Layout oder XSS (Einschleusen bösartiger Skripte) führen kann.

Die URL-Kodierung (Prozent-Kodierung) wandelt Sonderzeichen um, damit sie sicher innerhalb einer URL dargestellt werden können, während HTML-Escaping verhindert, dass Zeichen innerhalb eines Dokuments mit Tags verwechselt werden. Da sie unterschiedlichen Zwecken dienen, kann es nötig sein, beide Umwandlungen anzuwenden, wenn ein Formularwert sowohl als URL-Parameter als auch zur Anzeige in HTML verwendet wird.

Nein. Die gesamte Umwandlung erfolgt vollständig in Ihrem Browser mittels JavaScript, und der eingegebene Text wird niemals an die Server von toolbase.cc gesendet.

Nein. Dieses Tool escaped nur fünf Zeichen: &, <, >, " und '. Nicht-ASCII-Zeichen wie Emojis oder Texte in anderen Sprachen werden in modernen UTF-8-Umgebungen problemlos direkt angezeigt und müssen daher nicht umgewandelt werden.
ツールくん

Übrigens – Der von SGML geerbte Mechanismus der "Zeichenreferenzen"

Der Ursprung der HTML-Entitäten (Zeichenreferenzen) reicht bis zu SGML (Standard Generalized Markup Language) zurück, dem Vorläufer von HTML. Das 1986 standardisierte SGML verfügte bereits über einen Mechanismus für "Zeichenreferenzen", um das Tag-Trennzeichen < im Fließtext selbst verwenden zu können. HTML übernahm diesen Mechanismus nahezu unverändert, und grundlegende benannte Entitäten wie &lt;, &gt; und &amp; waren bereits in den frühen HTML-Spezifikationen der 1990er-Jahre definiert.

Benannte Entitäten wurden ursprünglich geschätzt, um spezielle Drucksymbole (wie das Copyright-Symbol &copy;, das Symbol für eingetragene Marken &reg; und diverse griechische Buchstaben) in reinen ASCII-Umgebungen darzustellen, bevor sich Unicode durchsetzte. Die HTML5-Spezifikation definiert letztlich über 2.000 benannte Entitäten und deckt sogar kleinere Symbole wie Häkchen und Notenzeichen ab.

Heute hat die Verbreitung der UTF-8-Kodierung den Bedarf an Zeichenreferenzen zur Vermeidung von Zeichensalat stark verringert. Drei Zeichen – <, > und & – müssen jedoch aus einem völlig anderen Grund weiterhin escaped werden. Sie haben für HTML-Parser eine besondere syntaktische Bedeutung (Anfang eines Tags, Ende eines Tags und Beginn einer Entität), sodass ein Versäumnis beim Escapen direkt zu zerstörtem Layout oder XSS-Sicherheitslücken führen kann.