79 Stimmen

Ist es korrekt, einfache Anführungszeichen für HTML-Attribute zu verwenden?

In letzter Zeit sehe ich viel davon:

Ist es gültig, Einzelzitate in HTML zu verwenden? Wie ich oben hervorgehoben habe, ist es auch problematisch, weil Sie Apostrophe escapen müssen.

0 Stimmen

Ich wünschte, dass dies populär geworden wäre! Da doppelte Anführungszeichen beliebter waren, wurde es üblich, in JavaScript ein einzelnes Anführungszeichen zu verwenden, da Zeichenfolgen voller HTML mit doppelten Anführungszeichen wären. Jetzt habe ich so viele Zeichenfolgen mit einem einzelnen Anführungszeichen in JavaScript getippt, dass ich immer, wenn ich eine andere Sprache wie Python, C#, C++ verwende, einzelne Anführungszeichen eingebe und Syntaxfehler bekomme.

1voto

Eric Punkte 6423

Wenn Sie möchten, dass das html gültiges html4 oder xhtml ist, dann funktionieren sowohl einfache Anführungszeichen als auch doppelte Anführungszeichen für Attribute. HTML4 kann hier validiert werden: https://validator.w3.org/

Wenn Sie nur moderne Browser unterstützen (ie10 und höher), dann können Sie die html5 Syntax verwenden, die einfache Anführungszeichen, doppelte Anführungszeichen und keine Anführungszeichen erlaubt (solange keine Sonderzeichen im Wert der Attribute enthalten sind). HTML5 kann hier validiert werden: https://validator.w3.org/nu

0voto

Joshi Spawnbrood Punkte 525

Was spricht gegen einfache Anführungszeichen?

Sie können überall in Ihrem HTML-Code einfache/doppelte Anführungszeichen haben, ohne Probleme zu haben, solange Sie im aktuellen Tag denselben Anführungsstil beibehalten (viele Browser beschweren sich nicht einmal darüber, und die Validierung möchte einfach nur, dass Sie, wenn Sie mit einem Anführungszeichen beginnen, mit dem gleichen enden, innerhalb derselben Eigenschaft).

Kostenlose Unterstützung für zufällige Anführungsstile!!! (Juhu ;D)

0voto

leftclickben Punkte 4414

Ich weiß, dass dies ein alter Thread ist, aber immer noch sehr relevant.

Wenn Sie die Kontrolle über Anführungszeichen in Ihrem generierten HTML haben möchten, können Sie die sprintf()-Funktion in PHP verwenden (und ähnliche Aufrufe, die in vielen anderen Sprachen verfügbar sind):

$html = sprintf('%s', $url, $text);

Die Verwendung von sprintf() ermöglicht es, dass der Formatstring einfach modifizierbar ist, indem er aus einer Datenbank oder Konfigurationsdatei abgerufen wird oder über Übersetzungsmechanismen.

Es ist sehr lesbar und erlaubt sowohl doppelte als auch einfache Anführungszeichen im generierten HTML, mit sehr geringer Änderung und niemals einem Escaping:

$html = sprintf("%s", $url, $text);

0voto

dkellner Punkte 6779

Lassen Sie uns dieses Argument endgültig klären


  1. Doppelte Anführungszeichen sind in Ordnung
  2. Einfache Anführungszeichen sind in Ordnung
  3. Keine Anführungszeichen sind in Ordnung, solange Sie nicht eines dieser Zeichen haben:
    • Leerzeichen (offensichtlich)
    • "<" oder ">" (macht Sinn)
    • Gleichheitszeichen (nicht sicher warum, aber okay)
    • Irgendeine Art von Anführungszeichen: doppelte, einfache, Backtick (macht wieder Sinn)

Interessant, wie einige Leute, auch heute, am "nur doppelten Anführungszeichen" Standard festhalten, der nie wirklich ein Standard war, sondern eine Konvention. Außerdem, wenn Ihre Sprache Apostrophe als natürliches Element hat (Englisch, jemand?), ist es praktischer, aber meiner Meinung nach ist der Preis für die Erhöhung der Komplexität von PHP Zeichenkettenzusammensetzungen viel zu hoch.

0 Stimmen

Attribute-Werte werden mit dem Gleichheitszeichen (=) zugewiesen. Dieses Zeichen als Teil des Werts zuzulassen, würde es offensichtlich verwirren.

0 Stimmen

@manngo Sicher, aber es wäre kein Schaden, nur den ersten als Trennzeichen zu interpretieren, jeden weiteren Gleichheitszeichen als Teil des Wertes zu nehmen.

-7voto

Code Whisperer Punkte 21675

Sie sollten generell Anführungszeichen vermeiden.

In Ihrem Beispiel benötigte nur ein attribut Anführungszeichen.

Wenn Sie Anführungszeichen verwenden, gibt es keine klare Regel, aber ich habe am häufigsten einzelne Anführungszeichen gesehen, mit doppelten Anführungszeichen innen, wenn nötig.

Die Verwendung von doppelten Anführungszeichen besteht mit einigen Validatoren nicht.

0 Stimmen

Zitate sind erforderlich, damit der Inhalt gültig ist html 4.01

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