{ }JSONKit.tools

HTML-Entities kodieren

Text so escapen, dass er sicher in HTML sitzen kann. Minimal deckt die fünf Zeichen ab, die Markup brechen; Alle Nicht-ASCII wandelt zusätzlich alles oberhalb von ASCII in numerische Referenzen.

Kodieren⇄Dekodieren
Escapen

Text

Escaped

Warte auf Eingabe …

Über dieses Tool

Text wird in dem Moment zu Markup, in dem er ein kaufmännisches Und oder eine spitze Klammer enthält — so verwandelt ein verirrtes < den Rest eines Absatzes in ein nicht geschlossenes Tag. Kodieren ersetzt diese Zeichen durch Referenzen, die der Parser als wörtlichen Text liest. Der minimale Satz — Und-Zeichen, beide spitzen Klammern und beide Anführungszeichenarten — ist das, was man für Text auf einer Seite oder in einem quotierten Attribut braucht. Der weitere Modus escaped zusätzlich Umlaute, Symbole und Emoji, für Verarbeitungsketten, denen man UTF-8 nicht anvertrauen kann.

So wird es benutzt

  1. 1Den Text einfügen, der in HTML hinein soll.
  2. 2Minimal für normalen Seitentext lassen oder Alle Nicht-ASCII für ein Ziel ohne UTF-8 wählen.
  3. 3Das escapte Ergebnis direkt ins Template kopieren.

Häufige Fragen

›Welche Zeichen müssen escaped werden?

In Seitentext sind & und < die beiden, die das Parsen wirklich brechen. Innerhalb eines Attributwerts kommt das jeweils verwendete Anführungszeichen dazu. Auch > und beide Anführungszeichenarten zu escapen ist die sichere Gewohnheit, und genau das macht Minimal hier.

›Macht Escapen Benutzereingaben sicher zum Einfügen in eine Seite?

Es ist notwendig, aber nicht hinreichend. Diese fünf Zeichen zu escapen ist richtig für Text und quotierte Attribute; innerhalb eines <script>-Blocks, einer Style-Regel oder eines URL-Attributs wie href gelten andere Regeln und es reicht nicht. Besser textContent nehmen oder eine Template-Engine, die für dich escaped.

›Wann brauche ich den Modus Alle Nicht-ASCII?

Wenn die Ausgabe einen Kanal überstehen muss, der kein UTF-8 ist — ein altes E-Mail-Template, ein Legacy-CMS-Feld oder eine Datei, deren Kodierung du nicht kontrollierst. Jedes Zeichen oberhalb von ASCII wird zu einer numerischen Referenz, die jeder Parser lesen kann.

›Benannte oder numerische Referenzen?

Benannte wie &copy; lesen sich besser; numerische wie &#169; funktionieren immer, weil ein Parser den Namen nicht kennen muss. Diese Seite nutzt benannte Referenzen für die fünf HTML-Zeichen und numerische für alles andere.