Reguläre Ausdruck
droom
- perl
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?
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
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.
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
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