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="...