kölir: URL als Link, ohne dass w3c etwas beanstandet

Beitrag lesen

Hi,

Ich habe bei meinem GB z.B. Besuchern die Möglichkeit gegeben mit einer Art BBCode einen Link einzufügen:
text :a:URL:/a/:LINKTEXT:/a: text

nun wird beim ausgeben zuerst
htmlspecialchars() angewandt und danach
preg_replace("/(?::a:)(.+?)(?::/a/:)(.+?)(?::/a:)/","<a href="$1">$2</a>",$eintrag);

Nun ja soweit so gut.

Aber da man als Webmaster ja stets bemüht ist, seine Seiten w3c-Konform zu halten, ist das leider nicht ganz unproblematisch bei falschen Benutzereingaben, oder Zeichen in der URL die speziell codiert werden müssten.

Und dann wäre noch die Sache mit http:// manche User tippen bestimmt nur "www.domainxyz.xyz" ein, also müsste ich prüfen, ob http:// eingegeben wurde und es gegebenenfalls ergänzen, aber was passiert dann mit Links wie ftp:// https:// mailto: usw??

Wie macht ihr das so?
Jemand ne brauchbare Idee, um meine Seiten vllt trotz eventueller Falscheingaben der Besucher w3c-Konform zu halten?

Danke schonmal

P.S.:Natürlich könnte ich die URL immer noch mit einem regulären Ausdruck prüfen, aber da wär man erstens wieder bei dem leidigen Thema mit diesen regulären Audrücken und zweitens würden & in einer koreekten URL trotzdem zu Beanstandungen führen im <a href="...