ich beschäftige mich z.Zt. ein wenig mit XHTML und habe da zwei Fragen.
a) Ich habe das stinknormale Body-Tag mit einer Angabe für eine Hintergrundfarbe. Soweit kein Problem. CSS und XHTML sind valide, aber warum reicht der Hintergrund nicht bis zum “Boden”? Also man hat im Prinzip ja beim normalen HTML wenn man eine Hintergrundfarbe zuweist, diese bis zum Ende des Browserfensters (+ scrollen hinterher) - im XHTML reicht es aber bei geringem Inhalt nicht soweit, die Hintergrundfarbe wird abgeschnitten, sobald der body-Tag aufhört … (in mehreren Browsern übrigens) - ist das ein Bug von XHTML oder so gewollt, kann man das fixen (wenn ja: wie?)
b) Ich lese mein Menü mit einem include Befehl in die index-Datei ein. Warum akzeptiert er bei den Links also im -Tag folgendes nicht:
(da steht nicht wirklich Kraut und Rüben - ist nur als Beispiel gedacht. Er meckert beim zweiten Leerzeichen hinterdem &
Wenn ich das durch ersetze, kommt zwar kein Fehler mehr, kann ja aber auch net das gelbe vom Ei sein - wieder die Frage: Bug von XHTML oder so gewollt?
@Zweites Problem: Bei URLs sind nicht Entities, sondern die Prozent-Kodierung [size=75](Heißt das im Deutschen so? Wäre jedenfalls die wörtliche Übersetzung der englischen Bezeichnung.)[/size] aka URL-Kodierung angesagt.
PHP hat auch eine Funktion dafür, und zwar urlencode().
Erstes Problem: Das ist in CSS für HTML als Sonderfall so
definiert, daß sich die Angaben für body über den gesamten
Anzeigebereich erstrecken soll.
Allgemein bei XML und damit auch bei XHTML, wenn es mit
einem XML-parser interpretiert wird, ist body nur ein ganz
normales Element und das reicht nur so weit, wie notwendig,
damit der Inhalt reinpaßt.
Das Element html erstreckt sich dafür über den gesamten
Anzeigebereich.
Zweites Problem: Wer akzeptiert das nicht? Der php-parser oder
der browser? Beispiel als URI angeben in letzterem Falle.
In ersterem Falle gibt man immer den unmaskierten
Dateinamen an.
[/code]
Wenn ich das beim [url=http://validator.w3.org/#validate_by_input]Validator[/url] eingebe, tauchen keine Fehler auf. Ich denke eher, du hast die Anführungszeichen beim href-Attribut vergessen - imho kein valides XML.
Was imho keinerlei Probleme verursachen dürfte … - was es aber dennoch tut scheinbar^^
Codierung ist übrigens ISO-8859-1 und der contenttype richtet sich nach den Browsern (bis auf IE, wo es text/html ist) lautet der: application/xhtml-xml
Ich habe mal im Array das & durch & ersetzt und das rausgenommen, der Validator des w3c meldet:
Mit & und ohne kommt kein Fehler - d.h. er hat/hatte Probleme mit dem &-Zeichen …
//Edit:
htmlspecialchars() hat sich diesem letzten Problem angenommen. Es läuft nun einwandfrei. Danke an euch beide für eure Hilfe.