reg exp - SessionID aus URL ausschneiden ?
martin
- php
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
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