[php] http-variablen zu php-variablen - trick?

MarcDK

Banned
Registriert
Mai 2001
Beiträge
3.559
Hi!

Wisst ihr eine Möglichkeit Text-Strings wie:

Code:
&autoStart=false&a=Marc+Toensing&tag=marctv.imeem.com&len=241
in php zu Variablen zu verwandeln? Das ist TEXT und wird nicht als http-Post verwendet! Also im Prinzip müsste er ja durchgehen und Dinge machen wie:

PSEUDOCODE
if & nimm das dazwischen weg und speichere das vor = als variablen namen und das nach = bis zum nächsten & als Wert usw.
/PSEUDOCODE

Wie macht man das? Ich finde das immer wahnsinnig schwer mit Strings. =/ Jemand ne Idee?
 
z.B. so:
Code:
  parse_str(
    html_entity_decode(
      '&autoStart=false&a=Marc+Toensing&tag=marctv.imeem.com&len=241'
    ),
    $params
  );

Das Array $params sieht dann so aus:
Code:
array(
  'autoStart' => 'false',
  'a'         => 'Marc Toensing',
  'tag'       => 'marctv.imeem.com',
  'len'       => '241'
)

greetings, Keita
 
Geil!

Kann man auch irgendwie die Separatoren angeben? Also nicht & sondern halt ":"? oder so? Der Befehl ist natürlich schon mal super. Danke!
 
Du könntest z. B. das Zeichen erst ersetzen.

PHP:
$string = strtr($string, ":", "&");

So bräuchtest du auch das html_entity_decode nicht mehr.
 
Ähm dumme Frage...

Wenn es das ist, was ich denke was es ist, dann kannst du doch einfach mit $_GET["parametername"] auf die Werte zugreifen...
also z.B. $_GET["autoStart"]

Wieso wird das nicht vorgeschlagen?
 
Weil MarcDK schrieb, daß es sich bei dem String um "Text" handelt und "nicht als http-Post verwendet" wird, was ich einfach mal als "ein String, der nicht als Parameter eines HTTP Requests importiert wird" interpretieren würde. Dagegen, daß es sich um den QUERY_STRING eines GET- bzw. den Body eines POST-Requests handelt, sprechen die maskierten Ampersands, wäre es ein Teil des QUERY_STRING oder des POST-Bodies, bleibt ja die Problemstellung bestehen.

greetings, Keita
 
Zurück
Oben