String Parsen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • String Parsen

    Hallo,

    kann mir hier veilleicht jemand helfen einen String in dem Format:

    PHP-Code:
    $string "param1=xyz&param2=xyz&param3=xyz"
    zu parsen? Ergebnis sollte ein Array der Form

    PHP-Code:
    array(

        
    variable
        value


    sein. Die xyz's in dem String sind beliebige Zeichenketten, die durch htmlencode() bearbeitet und über die Adresszeile übergeben wurden.

    Vielen Dank schon mal!

    Grüße

    Felix
    Hello World

  • #2
    einfach das Array $_GET auslesen wenn das per URL übergebne wurde ?
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Vielleicht muss das aber umgangen werden (weiß der Geier warum),
      PHP-Code:
      $targetArray = array();
      $raw explode('&'$theString);
      while(list(
      $key$val) = each($raw)) {
        list(
      $key2$val2) = explode('='$value);
        
      $targetArray[$key2] = rawurldecode($val2);

      So könnt es funtzen.
      "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

      Kommentar


      • #4
        Danke! Genau das hatte ich gesucht. Das $_GET musste ich umgehen und nur einige Daten von GET nach POST mittels hidden Feldern umwandeln. Der ganze String kam mit urlencode als Paket an das Skript ;-).
        Zuletzt geändert von Krusenbaum; 10.12.2002, 10:55.
        Hello World

        Kommentar


        • #5
          PHP-Code:
          $string "param1=xyz&param2=xyz&param3=xyz";
          $tmp explode('&'$string);
          $ar = array();
          foreach(
          $tmp as $x)
          {
            if (
          false===($p=strpos($x'='))) $p strlen($x);
            
          $ar[substr($x0$p)] = substr($x$p+1);
          }
          print_r($ar); 
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Danke Nezzar und Titus. Ich habe eine Lösung mit zwei explode()-Befehlen genommen. Das ist sicher etwas langsamer als die Lösung von Titus, dient aber der Übersichtlichkeit (und wird sowieso nur sehr selten ausgeführt).

            Danke für die schnellen Posts...

            Grüße

            Felix
            Hello World

            Kommentar

            Lädt...
            X