Franzis: Url Validation

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

  1. 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

    --
    Hier könnte Ihre Werbung stehen.
    Das Steuer-Blog | Siechfreds Tagebuch
  2. 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

    --
    My sssignature, my preciousssss!