String kürzen um bestimmte Teile
Tom1tk
- php
Hallo zusammen,
ich bin immer noch an meinem Problem von gestern, jetzt aber etwas anderes:
Ich habe folgenden String und möchte, sofern &PHPSESSID=... drinsteht eben diesen löschen.
/service/?site=service&PHPSESSID=57549004b8d910e19d0f9a9417e82df6
Problem: Dieser String könnte auch so aussehen:
/service/?site=service oder nur /service
Das Ergebnis sollte aber immer OHNE der SID sein.
Möglich? Wenn ja, welche Funktionen würden mir helfen?
Danke Tom1tk
Hallo Tom1tk,
Ich habe folgenden String und möchte, sofern &PHPSESSID=... drinsteht eben diesen löschen.
versuchs mal mit:
$str = preg_replace("/[?]?[&]?(PHPSESSID=)[0-9a-f]*/",'',$str)
das funktioniert auf jeden Fall, besser ist vielleicht:
$str = preg_replace("/(?|&)PHPSESSID=[0-9a-f]*/",'',$str)
(allerdings ungetestet)
Grüße aus Nürnberg
Tobias
Hallo Tobias,
geht das auch, dass ich bestimmte Teile einfach "abziehe"?
Die Var SID (PHPSESSID=57549004b8d910e19d0f9a9417e82df6) steht mir zur Verfügung:
Kann man dann nicht irgend so was in der Art basteln:
$string=$string-$SID; //Mal mathematisch gesprochen??
Klar dass das so nicht funktioniert, aber prinzipiell?
Greets
hi,
geht das auch, dass ich bestimmte Teile einfach "abziehe"?
Die Var SID (PHPSESSID=57549004b8d910e19d0f9a9417e82df6) steht mir zur Verfügung:
Kann man dann nicht irgend so was in der Art basteln:
$string=$string-$SID; //Mal mathematisch gesprochen??
Klar dass das so nicht funktioniert, aber prinzipiell?
du kannst mit den strpos-funktionen herausfinden, wo in deinem string die zeichenkette PHPSESSID anfängt, und wo meinetwegen 57549004b8d910e19d0f9a9417e82df6 wieder aufhört.
und dann könntest du von deinem originalstring nur den teil vom ersten zeichen bis zum zeichen davor, und den teil vom zeichen danach bis zum letzten nehmen.
aber wozu der aufwand, RegEx sind hier wirklich angebrachter.
gruss,
wahsaga
Ha wahsaga,
und dann könntest du von deinem originalstring nur den teil vom ersten zeichen bis zum zeichen davor, und den teil vom zeichen danach bis zum letzten nehmen.
Brauchts net, da PHPSESSID=kldsfgkdf der letzte Teil dieses String ist.
aber wozu der aufwand,
Ich bau grad einen Login-Bereich, bei dem sich jeder Seine Startseite nach dem LoginVorgang selbst festlegen kann.
Ist das mit den Reg Exp sicher, also funzt das immer?
Greets Tom1tk
Hello,
geht das auch, dass ich bestimmte Teile einfach "abziehe"?
Die Var SID (PHPSESSID=57549004b8d910e19d0f9a9417e82df6) steht mir zur Verfügung:
Kann man dann nicht irgend so was in der Art basteln:
$string=$string-$SID; //Mal mathematisch gesprochen??
Nee aber sowas wie
$string = str_replace($sid,"",$string);
http://de3.php.net/manual/de/function.str-replace.php
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
$str = preg_replace("/[?]?[&]?(PHPSESSID=)[0-9a-f]*/",'',$str)
das funktioniert auf jeden Fall, besser ist vielleicht:
Ja. Sehr gut sogar. Danke.
$str = preg_replace("/(?|&)PHPSESSID=[0-9a-f]*/",'',$str)
Nein. Gibt "" aus.
(allerdings ungetestet)
Danke und grüße nach Nürnberg,
Tom1tk