HTML-Entities kodieren und dekodieren
Escape Text für HTML mit benannten, dezimalen oder hexadezimalen Entities oder wandle Entities wie & und é zurück in Zeichen.
Codebeispiele
Kopieren Sie diese Beispiele in Ihr eigenes Projekt. Sie verwenden nur die Standardbibliothek der Sprache, es muss also nichts installiert werden.
const text = '<p class="x">Tom & Jerry</p>'
const entities = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }
console.log(text.replace(/[&<>"']/g, (char) => entities[char]))Was es tut
Escapt Text für HTML und wandelt HTML-Entities zurück in Zeichen. Eine Entity schreibt ein Zeichen mit Namen (é), als Dezimalzahl (é) oder als Hexzahl (é).
So benutzt du es
- Tippe oder füge Text ein oder ziehe eine Textdatei hinein.
- Wähle Kodieren oder Dekodieren. Beim Kodieren wählst du, ob nur die Zeichen escapt werden, die HTML als Markup liest, oder auch jedes Nicht-ASCII-Zeichen, und ob Namen, Dezimal- oder Hexzahlen geschrieben werden.
- Kopiere oder lade das Ergebnis herunter.
Beispiele
Markup escapen:
<p class="x">Tom & Jerry</p> wird zu <p class="x">Tom & Jerry</p>. Mit allen Nicht-ASCII-Zeichen escapt wird café © € zu café © €.
Gut zu wissen
- Die Zeichen, die in HTML-Text und Attributen immer escapt werden müssen, sind
&,<,>,"und'. - Der Apostroph wird als
'geschrieben, weil HTML 4 keinen Namen dafür hat. Das Dekodieren liest auch'. - Zeichen ohne Namen, etwa Emoji, werden als Zahlen geschrieben, eine Zahl pro Zeichen.
- Die Namenstabelle deckt die 252 Entities von HTML 4.01 ab. Ein Name außerhalb bleibt beim Dekodieren wie getippt.
Was ist eine HTML-Entity?
Eine Entity ist eine Möglichkeit, ein Zeichen in HTML zu schreiben, ohne es zu tippen: ein Name wie é oder eine Zahl wie é (dezimal) oder é (hex). Fünf Zeichen müssen in Text und Attributen escapt werden, weil HTML sie als Markup liest: & < > und die beiden Anführungszeichen.
Häufige Fragen
Welche Zeichen muss ich escapen?
Escape & und < im Text und das Anführungszeichen, das einen Attributwert umschließt, darin. > und beide Anführungszeichen überall zu escapen ist harmlos und der sichere Standard, den Nur Markup liefert. Benutzereingaben so zu escapen ist die erste Abwehr gegen eingeschleustes Markup.
Warum wird der Apostroph zu ' und nicht zu einem Namen?
HTML 4 hat keine benannte Entity für den Apostroph. ' gibt es in XML und HTML5, ältere Software kennt es aber nicht, daher ist eine Zahl die sichere Wahl. Das Dekodieren akzeptiert beides.
Sendet dieses Werkzeug meinen Text irgendwohin?
Nein. Alles passiert in deinem Browser. Was du eingibst, wird nie an unsere Server gesendet.