martin: reg exp - SessionID aus URL ausschneiden ?

Hallo,

ich traue mich jetzt endlich mal an die regulären ausdrücke in php...
und schon raff ich nichts mehr ;-)

ich will aus einer belibigen URL die session id löschen lassen.
(bei kontent, meinem provider heißt das ding KONTENTSID)

nach 2 stunden habe ich schon mal herausgefunden, wie ich sie mit preg_replace wegbekomme:

"/.KONTENTSID=.{32}/"  ersetze ich durch "".

soweit sogut.
was aber , wenn noch andere variablen angehängt sind, und die SID irgendwo in der mitte steht ??

ich habe dazu mal ein paar urls erfunden, bei denen die position variiert:

1.
/info_site.php?site=hallo&KONTENTSID=4e3a518f69f28fc1c06a2083985305e9
wird zu:
/nfo_site.php?site=hallo

2.
/sites/admin/index.php?KONTENTSID=17aef4880b7032cf9354f7ac90277d50&test=22
wird zu:
/sites/admin/index.php&test=22

3.
/sites/admin/index.php?KONTENTSID=17aef4880b7032cf9354f7ac90277d50
wird zu:
/sites/admin/index.php

4.
/sites/admin/index.php?Test=XXX&KONTENTSID=17aef4880b7032cf9354f7ac90277d50&TEST2=X
wird zu:
/sites/admin/index.php?Test=XXX&TEST2=X

1,3 und 4 ist ja prima.. aber was mache ich nur mit 3 ??
ich meine, ich kann ja keine variablen mit url.php&var=1 anhängen.
da muß das fragezeichen rein, oder? wie kann ich sowas "erschlagen"...
ich checks einfach nicht...
kann mir jemand helfen ??

vielen dank im voraus?
grüße,
martin

  1. Hi!

    nach 2 stunden habe ich schon mal herausgefunden, wie ich sie mit preg_replace wegbekomme:

    "/.KONTENTSID=.{32}/"  ersetze ich durch "".

    Versuchs mal so:

    /KONTENTSID=.{32}&?/

    der erste Punkt findet sowohl ? als auch &, besser ist wenn Du das Zeichen dahinter nimmst, und ? sorgt dafür sowohl bei &  nach der Session als auch bei _keinem_ & getroffen wird. = mußt Du IMHO nicht schützen.

    Grüße
    Andreas