Franzi: String nach einenm bestimmten Wort abschneiden

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

  1. <?
    $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.

    1. 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.

  2. 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

    --
    Heute in der Reihe „unser Ranking soll schöner werden“:
    Gefälschte Musikinstrumente Marke Bessons
    1. 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

      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

  3. 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

  4. 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