title image


Smiley Re: HTML-Validator-Warnung
Hallo Achim,



ich glaube, Du hast noch nicht so ganz verstanden, was wir Dir hier sagen wollten...



Das <? ?> ist vollkommen korrekter PHP-Code. Wenn jemand eine Seite anfordert, dann wird auf dem Server durch den PHP-Parser dieser PHP-Code verarbeitet und das Ergebnis in Form von HTML an den Browser zurückgeschickt. Schaue Dir den Quelltext eines solchen Ergebnisses mal an. Du wirst keine Spur mehr von Deinem ehgemaligen PHP-Code finden.



Wenn Du nun diesen Code aber unter Umgehung des PHP-Parsers verarbeitest, weil Du zum Beispiel die Datei per File-Upload zum W3C-Validator schickst, dann hat das mit PHP absolut nichts mehr zu tun. Für den Validator ist das eine stinknormale (X)HTML-Datei in der stinknormaler (X)HTML-Code erwartet wird. Da nun aber noch immer Dein <? ?> im Code zu finden ist, kreidet Dir der Validator das als Fehler an. Wenn Du daraus nun <?php ?> machst, dann ist für den Validator alles in Ordnung, weil Du aus Deinem falschen XHTML-Code nun richtigen XHTML-Code gemacht hast. Aber Deinem ursprünglichen Ziel, nämlich das HTML-Ergebnis Deines PHP-Codes zu überprüfen, bist Du keinen Milimeter näher gekommen. In Deinem Code hätte statt <?php ?> auch <?schiessmichtot ?> oder <?papperlapapp ?> stehen können, für den Validator wäre dies absolut dasselbe gewesen.

Oder um es anders auszudrücken: Es ist reiner Zufall, daß Du mit einem PHP-Code der Form <?php ?> den Validator glücklich machst, weil XML-Verarbeitungsanweisungen rein zufällig dieselbe Syntax haben. Und spätestens mit Deinem CSS-Code wird dieser Zufall auch entlarft, weil <? ?> in welcher Form auch immer nun mal kein CSS-Code ist.



Der PHP-Code muß erst durch den Parser verarbeitet werden, erst dann darf ihn ein Client (z.B. der W3C-Validator) zu Gesicht bekommen.



Viele Grüße

Carsten

--
Doctype-Switch? Quirks Mode? Standards Mode? Was is'n das?

Anleitung für richtiges Verhalten in Spotlight
von HackiDragon



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: