Der Martin: Formular an falscher Position

Beitrag lesen

Hallo Stefan,

"Ich will mich hier nicht damit aufhalten, dass die Attributwerte eigentlich in Anführungszeichen stehen sollten; hier bestehen die Attributwerte ausnahmsweise nur aus Buchstaben und Ziffern, so dass diese Nachlässigkeit erlaubt ist."
Das habe ich nicht so ganz verstanden (bin Anfänger).

war das so unklar?
Es ist in der HTML-Spezifikation festgelegt, dass Attributwerte in Anführungszeichen stehen _sollten_; wenn der Attributwert nur aus Buchstaben und/oder Ziffern besteht, dürfen die Anführungszeichen aber auch weggelassen werden. Empfohlen sind sie "der Ordnung halber" trotzdem.
In XHTML gibt es diese Großzügigkeit übrigens nicht, hier _müssen_ Attributwerte grundsätzlich in Anführungszeichen stehen.

Doch da mit den Attributwerten interessiert mich schon sehr. Vielleicht kann mir jemand das anhand des Start-Quellcodes einmal genau aufzeigen? Vielen Dank.

Dein PHP-Code gibt beispielsweise folgendes HTML aus:

<table border=0 rules=none align=left>

Was sehen wir? Alle Attributwerte ohne Anführungszeichen. Okay, ist in traditionellem HTML erlaubt, aber nicht schön. Eigentlich möchten wir es so sehen:

<table border="0" rules="none" align="left">

Die einzige Crux ist nun die korrekte Notation von Anführungszeichen innerhalb des PHP-Strings, denn dort würden sie ja den String beenden. Daher müssen sie entsprechend maskiert werden, indem ihnen ein Backslash vorangestellt wird:

echo "<table border=\"0\" rules=\"none\" align=\"left\">";

Man kann sich auch davonstehlen, indem man im HTML einfache Anführungszeichen notiert, in PHP doppelte. Oder umgekehrt, wobei das in PHP ein Bedeutungsunterschied ist!

So long,
 Martin

--
Wie kann es sein, dass ich von 100 Gramm Schokolade zwei Kilo zunehme?
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(