Horst Meier: Regular Expression und Webadressen

Hi Leute ich habe ein kleines RegEx Problem. Ich möchte die Eingabe von URLs validieren hierfür habe ich folgende Expressiona aufgebaut:

/^(http|https|ftp)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9-._?,'/\+&%$#=~])*$/

Nun soll die URL sowohl bei:

http://www.test.de
http://test.de
www.test.de

als korrekt erkannt werden.

Leider haut das nicht hin wenn ich das obige Beispiel durchspiele. Hat jemand eine Idee was ich an der Expression verändern muß damit es klappt.

BTW: Die Expression wird dur PHP preg_match interpretiert.

  1. Guten Tag,

    Leider haut das nicht hin wenn ich das obige Beispiel durchspiele. Hat
    jemand eine Idee was ich an der Expression verändern muß damit es klappt.

    Du willst auf Filter umsteigen und den FILTER_VALIDATE_URL-Filter verwenden.

    Gruß
    Christoph Jeschke

    --
    Zend Certified Engineer
    Certified Urchin Admin
  2. Hi Leute ich habe ein kleines RegEx Problem. Ich möchte die Eingabe von URLs validieren hierfür habe ich folgende Expressiona aufgebaut:

    Vollkommen unklar, was du willst.
    Willst du eine url validieren nach einem Schema, dann verwende am besten eine Bibliothek, oder eröffne einen Request und teste auf den zurückgegebenen Statuscode.

    /^(http|https|ftp)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9-._?,'/\+&%$#=~])*$/

    Nun soll die URL sowohl bei:

    http://www.test.de
    http://test.de
    www.test.de

    als korrekt erkannt werden.

    www ist kein Schema, und ein solches verlangt deine Regex.

    Leider haut das nicht hin wenn ich das obige Beispiel durchspiele. Hat jemand eine Idee was ich an der Expression verändern muß damit es klappt.

    Primär solltest du mal sagen was du willst:

    Selektives auslesen von urls ist etwas anderes als urls validieren.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
  3. gudn tach!

    Ich möchte die Eingabe von URLs validieren

    von welchen? von allen moeglichen? die koennen teilweise ganz schoen kompliziert aussehen, siehe z.b. http://de.wikipedia.org/wiki/URL#Aufbau.

    du kannst dir denken, dass du nicht der erste mit dieser idee bist, via google findet man viele weitere versuche, solche ausdruecke zu basteln, z.b. [http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx]

    aber am besten ist bei sowas normalerweise (wenn man's denn ueberhaupt wirklich braucht und nicht bloss zu uebungszwecken sowas basteln will), dass man sich ans RFC 3986 haelt, in dem sogar auf speziell diese frage eingegangen wird siehe [1].

    prost
    seth