String nach einenm bestimmten Wort abschneiden
Franzi
- php
0 MASTER0 Franzi
0 dbenzhuser0 Franzi
0 CirTap0 Michael Nagler
Hallo,
ich habe folgenden String:
/index.php?menu=fisch&PHPSESSID=ad05d1d58ec33601d0c2597e32295231
Nun möchte ich den String ab "PHPSESSID=ad05d1d58ec33601d0c2597e32295231" abschneiden so das mir nur noch /index.php?menu=fisch überbleibt.
Wie kann schneide ich den String ab der Zeichenkette "&PHPSESSID=" ab? Kann ich das überhaupt nach einen bestimmten Wort den Rest des Strings abschneiden?
Wonach muß ich suchen oder evtl. kann mir jemand ein Beispiel nennen?
Danke!
Lieb Grüßt Franzi
Franzi
<?
$url = "/index.php?menu=fisch&PHPSESSID=ad05d1d58ec33601d0c2597e32295231";
$new_url = substr($url, 0, 21);
echo $new_url;
?>
also: das hier funzt nur, wenn dein anfangs string immer so ist, und nicht, wenn zum beispiel 'menu' sich aendert oder so ... wenn das der fall sein sollte, muss du es mir sagen, da gibt es auch noch andere moeglichkieten !!
gruss aus lux.
also: das hier funzt nur, wenn dein anfangs string immer so ist, und nicht, wenn zum beispiel 'menu' sich aendert oder so ... wenn das der fall sein sollte, muss du es mir sagen, da gibt es auch noch andere moeglichkieten !!
Ja der Anfanfngs String ändert sich ständig!
Soweit bin ich bereits:
$array = explode('&PHPSESSID=', '/index.php?menu=fisch&PHPSESSID=ad05d1d58ec33601d0c2597e32295231');
$max = count($array);
$result = array();
for ($i = 0; $i < $max; $i++) {
if ($i % 2 != 0) {
$result[] = $array[$i];
}
}
$sid = $result[0];
$delete_sid = "&PHPSESSID=".$sid;
echo $delete_sid;
Ausgabe:
&PHPSESSID=ad05d1d58ec33601d0c2597e32295231
Nur ich glaube das brauche ich nicht? Ich will ja nur den String ab &PHPSESSID= abschneiden.
Tachauch
Wonach muß ich suchen oder evtl. kann mir jemand ein Beispiel nennen?
Eine Übersicht über die String-Funktionen gibts hier:
http://de.php.net/manual/de/ref.strings.php
Du könntest z.B. per strpos die Position deiner Zeichenkette ermitteln und dann mit substr alles bis dorhin herausschneiden.
$bla = substr($url, 0, strpos($url, '&PHPSESSID=');
oder so...
Tschö,
dbenzhuser
Tachauch
Wonach muß ich suchen oder evtl. kann mir jemand ein Beispiel nennen?
Eine Übersicht über die String-Funktionen gibts hier:
http://de.php.net/manual/de/ref.strings.phpDu könntest z.B. per strpos die Position deiner Zeichenkette ermitteln und dann mit substr alles bis dorhin herausschneiden.
$bla = substr($url, 0, strpos($url, '&PHPSESSID=');
oder so...
Tschö,
dbenzhuser
Ohja das funktioniert auch und ist noch einfacher als meine Version die nicht mal funktioniert...
$array_1= array();
$array_1 = "/index.php?menu=fisch&PHPSESSID=ad05d1d58ec33601d0c2597e32295231";
$array = explode('&PHPSESSID=', $array_1);
$max = count($array);
$sid_array = array();
for ($i = 0; $i < $max; $i++) {
if ($i % 2 != 0) {
$sid_array[] = $array[$i];
}
}
$sid = $sid_array[0];
$array_2 = array();
$array_2 = "&PHPSESSID=".$sid;
echo "<b>$array_2</b> ".$array_2;
echo "<br><br>";
$differenz = array_diff($array_1, $array_2);
print_r($differenz);
Was hier ran falsch ist, keine Ahnung?
Danke trotzdem!
Gruß Franzi
Hallo,
Wie kann schneide ich den String ab der Zeichenkette "&PHPSESSID=" ab?
technisch gesehen wie schon beschrieben, FUNKTIONAL gesehen: garnicht.
Kann ich das überhaupt nach einen bestimmten Wort den Rest des Strings abschneiden?
ja, aber nicht im Falle der PHP Session ID.
Lies dir vielleicht mal die Doku zu PHP-Sessions richtig durch.
PHP fügt den Wert *immer* in das fertige HTML Dokument ein, und zwar gemäß PHP.INI für "url_rewriter.tags"
- a=href
- area=href
- frame=src
- input=src
- form=fakeentry (hidden input)
Sobald du also eines dieser Elemente rausschreibst erscheint auch die PHP Session-ID.
Den Name der Session-Variablen (PHPSESSID) kannst du natürlich ändern, wie dir das PHP-Handbuch ebenfalls mitteilen wird -- so du es denn liest.
Die bekommst du nur los, wenn du Cookies für die Sessions verwendest.
Viel Spaß,
CirTap
Hallo,
Nun möchte ich den String ab "PHPSESSID=ad05d1d58ec33601d0c2597e32295231" abschneiden so das mir nur noch /index.php?menu=fisch überbleibt.
Eleganteste Lösung in dem Fall ist sicher parse_url (siehe http://de2.php.net/manual/de/function.parse-url.php)
$eingabe = "/index.php?menu=fisch&PHPSESSID=ad05d1d58ec33601d0c2597e32295231"
$parsed_url = parse_url( $eingabe );
$gesucht = $parsed_url["path"];
Viele Grüße,
Michael