Ich bin ein großer Benutzer der Verwendung von doppelten Anführungszeichen in PHP, damit ich Variablen interpolieren kann, anstatt Zeichenfolgen zu verketten. Daher verwende ich beim Generieren von HTML häufig einfache Anführungszeichen zum Festlegen von Tag-Feldern. Beispielsweise:
$html = "<input type='text' name='address' value='$address'>";
Das ist für mich weitaus besser lesbar als beides
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
oder
$html = '<input type="text" name="address" values="' . $address . '">' ;
Bei kurzen Suchanfragen habe ich gehört, dass einfache Anführungszeichen für HTML-Felder nicht von JEDEM Browser erkannt werden. Daher frage ich mich, welche Browser Probleme haben würden, HTML in einfachen Anführungszeichen zu erkennen.
Antworten:
Dies ist ähnlich wie Wann sind einfache Anführungszeichen in HTML so beliebt geworden? . Einfache Anführungszeichen um Attribute in HTML wurden und werden von der Spezifikation immer zugelassen . Ich glaube nicht, dass ein Browser sie nicht verstehen würde.
quelle
<img src='cid:xxx' ... />
ein Inline-Bild überhaupt nicht angezeigt wird, wenn es verwendet wird , da die Inhalts-ID ignoriert wurde. Sie müssen stattdessen `<img src =" cid: xxx "... /> verwenden.Wie von PhiLho festgestellt, ist diese Überzeugung falsch, obwohl es eine weit verbreitete Überzeugung gibt, dass einfache Anführungszeichen für Attributwerte nicht zulässig sind.
Der XML-Standard erlaubt sowohl einfache als auch doppelte Anführungszeichen um Attributwerte.
Der XHTML-Standard sagt nichts aus, um dies zu ändern, aber ein verwandter Abschnitt, der besagt, dass Attributwerte in Anführungszeichen gesetzt werden müssen, verwendet im Beispiel doppelte Anführungszeichen, was wahrscheinlich zu dieser Verwirrung geführt hat. In diesem Beispiel wird lediglich darauf hingewiesen, dass Attributwerte in XHTML den Mindeststandard für Attributwerte in XML erfüllen müssen. Dies bedeutet, dass sie in Anführungszeichen gesetzt werden müssen (im Gegensatz zu einfachem HTML, das sich nicht darum kümmert), Sie jedoch nicht auf einzelne oder beschränken Anführungszeichen.
Natürlich ist es immer möglich, dass Sie auf einen Parser stoßen, der nicht den Standards entspricht, aber wenn dies passiert, sind alle Wetten trotzdem ungültig. Halten Sie sich also am besten an die Angaben in der Spezifikation. Deshalb haben wir schließlich Spezifikationen.
quelle
Diese Person ist falsch.
quelle
Glauben Sie nicht alles, was Sie im Internet sehen ...
Lustigerweise habe ich gerade etwas Ähnliches beantwortet wie jemand, der erklärt, dass einfache Anführungszeichen in XHTML nicht gültig sind ...
Mmm, ich schaue beim Tippen nach oben und sehe, dass Adam N den gleichen Glauben verbreitet. Wenn er seine Behauptung stützen kann, ziehe ich zurück, was ich geschrieben habe ... AFAIK, XML ist agnostisch und akzeptiert beide Arten von Zitaten. Ich habe sogar problemlos eine XHTML-Seite mit nur einfachen Anführungszeichen ausprobiert und validiert.
quelle
Das einzige Problem ist, dass Daten in TEXT INPUT-Felder gelangen. Erwägen
Das gleiche mit:
Dem kannst du nicht entkommen, du musst es benutzen
htmlspecialchars
.quelle
<input value='it's gonna break'/>
<input value="it's not gonna break"/>
und umgekehrt :<input value='i say - "this is not gonna be trouble"'/>
.Da ich nach Informationen zu diesem Thema in einer viel neueren Version der Spezifikation gesucht habe und es einige Zeit gedauert habe, sie zu finden, ist sie hier:
Von
quelle
Ich neige auch dazu, einfache Anführungszeichen in HTML zu verwenden, und ich habe noch nie ein Problem festgestellt.
quelle
Ich habe einfache Anführungszeichen in HTML-Seiten verwendet und JavaScripts darin eingebettet, und es funktioniert einwandfrei. In IE9, Chrome und Firefox getestet - scheint gut zu funktionieren.
quelle
Vor kurzem habe ich ein Problem mit der Optimierung der Google-Suche festgestellt. Wenn es einfache Anführungszeichen gibt, scheint es keine verknüpften Seiten zu crawlen.
quelle
<a href=''>
Attributen?... oder einfach Heredocs benutzen. Dann brauchen Sie sich keine Sorgen zu machen, außer irgendetwas zu entkommen
END
.quelle
Einfache Anführungszeichen sind für HTML in Ordnung, stellen jedoch kein gültiges XHTML dar. Dies kann problematisch sein, wenn jemand einen Browser verwendet, der nur XHTML, jedoch kein HTML unterstützt. Ich glaube nicht, dass es solche Browser gibt, obwohl es wahrscheinlich einige User-Agents gibt, die striktes XHTML erfordern.
quelle
application/xhtml+xml
oderapplication/xml
.