Dieter Raber: str_replace

Beitrag lesen

Hallo Jojo55²,

$LINK = str_replace("order1=%&order2=", "order1=speed ASC&order2", $URL);

Mir fallen zwei Moeglichenkeiten ein, naemlich preg_replace() und das Exploden des Strings. Ich wuerde, glaube ich, letzteres machen.
$query_string = ?type=Schwere Kriegskunst&subtype1=Große Schlagwaffen.... //was fuer'n Zeug hast Du da nur drin...
Zu bemerken ist, dass dein $query_string offenbar nicht urlencoded ist, solltest du nachholen. Also von vorn:
$query_string = type=Schwere%20Kriegskunst&subtype1=Große%20Schlagwaffen....
$query_array  = explode('&', $query_string);
das sieht jetzt so aus:
  $query_array[0] = type=Schwere%20Kriegskunst;
  $query_array[1] = subtype1=Große%20Schlagwaffen;
naechste Dimension geht so
$i = 0;
foreach($query_array as $value)
{
  $tmp = explode('=', $query_array[0]);
  unset($query_array[$i]);
  $query_array[$i]['name'] = $tmp[0];
  $query_array[$i]['wert'] = $tmp[1]
   $i++
}
jetzt hast Du

$query_array[0]['name'] = 'type';
  $query_array[0]['wert'] = 'Schwere%20Kriegskunst';

usw.
In dem Array kannst Du jetzt neu zuordnen wie du lustig bist, das Ergbnis wieder imploden und fertig.

Die Loesung mit preg_replace erscheint auf den ersten Blick einfacher, ich finde sie aber unflexibler. Aber zu dem Thema wird sich sicher noch jemand aeussern.

Gruß,

Dieter