Url Validation
Franzis
- php
Hallo,
besucher meiner Homepage können im Gästebuch ihre eigenen HPs angeben damit dort nicht ganz soviel müll getippt werden kann wollt ich mir n regex basteln:
$reg_homepage ="/^([http://www.]|[www.])+(.)+(.[a-zA-Z]{2,4})$/";
<<<--- soweit würde mir das reichen
Kann mir jemand sagen wo der fehler steckt??? Bei TheRegexCoach passt der Ausdruck warum net in PHP??
MFG Franzis
Hell-O!
$reg_homepage ="/^([http://www.]|[www.])+(.)+(.[a-zA-Z]{2,4})$/";
<<<--- soweit würde mir das reichen
Kann mir jemand sagen wo der fehler steckt?
Lies bitte nach, was Zeichenklassen sind. Übrigens, wenn du schon PHP einsetzt, dann prüfe doch mit den Bordmitteln von PHP die Links auf Gültigkeit (siehe Wie überprüfe ich Hyperlinks auf ihre Gültigkeit?).
Siechfred
Moin!
besucher meiner Homepage können im Gästebuch ihre eigenen HPs angeben damit dort nicht ganz soviel müll getippt werden kann wollt ich mir n regex basteln:
Ein Regex, der verhindert, dass gültige URLs eingegeben werden können, und andererseits nicht verhindert, dass ungültige URLs eingegeben werden können, ist doch eigentlich als unbrauchbar zu bezeichnen, oder?
Genau sowas hast du nämlich produziert, wenn ich mal nur "interpretiere", was du gewollt hast (falsch umgesetzt ist es, wie Siechfred schon bemerkte, darüber hinaus auch noch).
Um nur mal ein paar Ansatzpunkte zu liefern: Ein Hostname muß nicht mit "www" beginnen (Beispiel: http://de.selfhtml.org), und er darf nicht beliebige Zeichen enthalten (. im Regex), und Top-Level-Domain ist von der Anzahl der Zeichen nicht begrenzt, und häufig folgt nach dem Hostnamen auch noch eine Pfad- und Dateiangabe.
$reg_homepage ="/^([http://www.]|[www.])+(.)+(.[a-zA-Z]{2,4})$/";
<<<--- soweit würde mir das reichen
Kann mir jemand sagen wo der fehler steckt??? Bei TheRegexCoach passt der Ausdruck warum net in PHP??
- Sven Rautenberg