XHTML-Validator vs. '&'-Zeichen

Status
Nicht offen für weitere Antworten.

SilentWarrior

Erfahrenes Mitglied
Hi Leute

Ich hab jetzt schon mehrere Threads durchforstet, aber nicht wirklich gefunden, wonach ich gesucht hab. Und zwar geht's um meine HP. Ich versuche, die möglichst XHTML-konform zu gestalten. Das Dumme ist nur: Es hat enorm häufig folgende Linkstruktur: datei.php?var=value&var2=value2. Leider erkennt der Validator diese nicht, gibt mir irgendeinen blöden Fehler aus. Ich weiss, dass der Fehler verschwinden würde, wenn der Link so aussähe: datei.php?var=value&var2=value2 (fragt mich aber nicht, warum).

Das Problem ist jedoch, dass die meisten Links dynamisch generiert werden oder aus einer Datenbank gelesen werden. Deshalb kann ich die natürlich nicht alle von Hand korrigieren. Und das nervt einfach, wenn da jedesmal eine ewig lange Fehlerliste auftaucht, obwohl die Seite eigentlich in Ordnung wäre. Weiss irgendjemand eine Lösung dafür? Oder evtl. eine Info, dass der Validator aktualisiert wird und das bald unterstützt? (Wunschdenken :rolleyes:) Vielen Dank schonmal für eure Hilfe!

Grüsse

SilentWarrior
 
Es ist einfach so -"&" ist dort nicht erlaubt.... übrigens auch nicht nach HTML. Du musst also damit leben oder die Arbeit auf dich nehmen und die "&" durch "&" ersetzen.
 
Wie meinst du das, '&' ist nach HTML nicht erlaubt? Dann muss man also wirklich URLs so formulieren: datei.php?var=value&var2=value2 ? :confused:
 
XHTML sieht das &-Zeichen als Einleitung eines Entities. (Wie z.B. ß für ß, ü für ein kleines ü oder auch dem besagten & für das Zeichen &) Wenn nun eine Zeichenkette wie z.B. &show=blabla auftaucht, ist schwer zu sagen, ob es so gewollt ist oder eigentlich ein Entity sein soll. Für's menschliche Auge sieht es logisch aus, für einen Parser jedoch ganz und garnicht.

Ich verstehe allerdings nicht ganz, warum es dir so schwer fällt, das Zeichen zu kodieren, wenn du die Links eh dynamisch einbindest? Gerade so kannst du doch relativ easy eine entsprechende Ersetzungsfunktione wie htmlentities, str_replace oder preg_replace verwenden ... (je nach Situation)
 
Ich empfehle htmlentities() oder htmlspecialchars(). Die codieren diese Zeichen automatisch.
PHP.net:
http://de3.php.net/manual/de/function.htmlentities.php


Wieso willst du eigentlich xHTML-konform schreiben? Für mich ist und bleibt xHTML ne Notlösung. Und das System mit diesen leeren Attributen (wie zb <input disabled="disabled">) ist echt schwachsinn...
 
Zuletzt bearbeitet:
Diese "Notlösung" könnte ja nur - konsequent eingesetzt - dafür sorgen dass man sich als Webdesigner irgendwann mal auf das wesentliche beschränken kann und nicht einen Großteil seiner Arbeit in nervtötende Browseranpassungen stecken muss.

Viel schwachsinniger ist sogar noch die Tatsache, dass man damit die Grundlage für vollständige Auf-, Ab und CrossPlatform-Kompatibilität legt. Ganz zu schweigen davon, dass es in Verbindung mit externen CSS -Dateien und ein bisschen Mühe und Erfahrung für Barrierenfreiheit und bessere maschinelle Verarbeitung sorgt.

Hast recht &hellip; wer seine Zeit mit XHTML verschwendet ist echt auf dem falschen Dampfer... lang lebe das veraltete HTML 4! *hust*
 
Diese "Notlösung" könnte ja nur - konsequent eingesetzt - dafür sorgen dass man sich als Webdesigner irgendwann mal auf das wesentliche beschränken kann und nicht einen Großteil seiner Arbeit in nervtötende Browseranpassungen stecken muss.

*lach* so lange es Microsoft gibt bestimmt nicht... "We dont have to use standarts we're Microsoft"

Nene... Ich bin schon sehr zufrieden mit HTML... Es könnte auch um einiges Schlimmer sein...
 
Stimmt &hellip; der IE braucht in vielen Fällen eine Extrawurst. Allerdings ist seine XHTML-Unterstützung durchaus gut. Lediglich in Sachen CSS muss man damit leider oft Umwege gehen.

Das ist allerdings in meinen Augen noch lange kein Grund, Standards zu meiden. Denn wenn sie niemand nutzt kann folglich auch niemand mit dem Finger auf die mangelnde Unterstützung zeigen &hellip; und warum sollte sich dann jemals etwas ändern? (Auch wenn es eigentlich schon lange überfällig wäre)
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück