5 Stimmen

Umbrüche und Sonderzeichen in HTML-Attributen

Meine Fragen sind einfach:

Ist das Folgende gültig? Wenn ja, würde es in einigen Browsern brechen?

 ... 

Welche Zeichen "müssen" in Attributwerten codiert werden? Ich weiß, dass " als " codiert werden sollte, aber müssen noch andere codiert werden?

6voto

Alohci Punkte 73204

Ist das folgende gültig?

Es ist ein gültiges Fragment von HTML5, ja.

Würde es in einigen Browsern kaputt gehen?

Unwahrscheinlich.

Welche Zeichen "müssen" in Attributwerten codiert werden? Ich weiß, dass " zu " sein sollte, aber müssen noch andere codiert werden?

Das hängt davon ab, ob der Attributwert doppelt, einfach oder ohne Anführungszeichen ist.

Für die doppelt angegebene Form muss " durch sein Zeichenreferenz ersetzt werden, und & muss je nach den nachfolgenden Zeichen möglicherweise durch sein Zeichenreferenz ersetzt werden. Siehe attribute-value-double-quoted-state

Für die einfach angegebene Form muss ' durch sein Zeichenreferenz ersetzt werden, und & muss je nachden nachfolgenden Zeichen durch sein Zeichenreferenz ersetzt werden. Siehe attribute-value-single-quoted-state

Für die ohne Anführungszeichen angegebene Form müssen TAB, LINEFEED, FORMFEED, SPACE, > durch ihre Zeichenreferenzen ersetzt werden, und & muss je nach den nachfolgenden Zeichen durch sein Zeichenreferenz ersetzt werden. Siehe attribute-value-unquoted-state

1voto

stevebot Punkte 22281

HTML 5 Spezifikation

Es gibt unterschiedliche Anforderungen für verschiedene Attribute, daher gibt es keine einheitliche Antwort. Zum Beispiel erlauben Titelattribute Zeilenumbrüche, aber ein Klassenattribut besteht aus einer Leerzeile von Zeichenfolgentoken.

Für Datenelemente besagt die Spezifikation jedoch bezüglich des Namensraums:

enthält keine Zeichen im Bereich U+0041 bis U+005A (LATIN CAPITAL LETTER A bis LATIN CAPITAL LETTER Z).

Ansonsten macht sie keine Unterscheidungen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X