droom: Reguläre Ausdruck

Hallo!

Wie prüfe ich mit reguläre ausdrücke, dass ich ein url von der form habe

http://mail.php?id=13&peo=Me

Also lediglich ist für mich diese id=13 interessant, weil die Regel nur dann anwendbar sein muss. Ich habe an etwas von der Art gedacht:

/[^.]+id=13+[^.]

ist das richtig?

  1. Hallo,

    /[^.]+id=13+[^.]

    ist das richtig?

    hast Du's denn ausprobiert?
    Wenn Du wirklich nur wissen wilst, ob im GET-String id=13 steht, dann würde ich es so formulieren:
    /(?:?|&)id=13(?:&|$)/

    Ciao,
    Andreas

    --
    "Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)
    1. Hi Andreas!

      Eigentlich sehen die URLs so aus:

      http://meineseite.de/forum/?id=13

      Und es ist möglich, dass irgendwas nach dem ?id=13 kommt.

      Ich möchte also alle urls abfangen, die "id=13" enthalten.

      1. Hell-O!

        Eigentlich sehen die URLs so aus:
        http://meineseite.de/forum/?id=13
        Und es ist möglich, dass irgendwas nach dem ?id=13 kommt.
        Ich möchte also alle urls abfangen, die "id=13" enthalten.

        Wird das Script mit diesem Querystring aufgerufen? Dann würde es reichen, die Existenz und den Inhalt des Parameters "id" zu untersuchen. Ansonsten: was hat dein Test mit dem Vorschlag von Andreas ergeben?

        Siechfred

      2. Hello out there!

        http://meineseite.de/forum/?id=13

        Als Beispieldomains NIE Namen angeben, die wirklich existieren! (Man weiß nie, was sich für Inhalt dahinter verbirgt.) Nach [RFC2606] sind dafür a.a. example.com, example.net und example.org vorgesehen.

        Und es ist möglich, dass irgendwas nach dem ?id=13 kommt.

        Siehe Andreas:

        /(?:?|&)id=13(?:&|$)/

        ^^^^^^^^
        Es kann auch nach dem id=13 was kommen, nämlich ein '&'. Muss aber nicht wegen '$'.

        Außerdem:

        /(?:?|&)id=13(?:&|$)/

        ^^^^^^^^
        Es kann auch vor dem 'id=13' was kommen. URI dann .../?...&id=13...

        Das Manko ist nur, dass Andreas nur das dähmliche '&' als Trennzeichen vorsieht, wo doch vor allem auch ';' unterstützt werden sollte: B.2.2 Und-Zeichen in URI-Attributwerten [HTML401]

        Also /[?;&]id=13(?:[;&]|$)/

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)