query_string modifizieren/verändern?
Roger
- php
moin!
ich hab ne ziemlich lange url, mit der ne menge variablen per get übergeben werden. nun soll per dropdown die sprache geändert werden. das geht bei ersten aufruf mit hilfe von javascript sehr einfach, indem ich einfach nur an den query_string die variable mit dran hänge.
wenn ich per dropdown aber wieder zurück will, wird an den bestehenden query_string (inkl. sprachen-variable) die sprachen-variable erneut mit drangesetzt. :S
kann ich die mit hilfe von php irgendwie ersetzten lassen?
um es noch ein wenig schwieriger zu machen: ziel ist es, zwei verschiedene variablen auszutauschen (nicht nur die sprachen-variable).
gruß.
roger.
hallo,
in PHP gibt es eine funktion "str_replace();", womit du strings bearbeiten kanns.
ich versteh aber auch nich genau dein problem.
ZB:
$url="../de/index.php?cat=2";
print $urlNew=str_replace("de","en",$url);
hier wird im string nach 'de'(=1.argument) gesucht, und mit 'en'(2.argument) ersetzt in der string variablen $url(3.argument)
hoffe das hilft
ich hab ne ziemlich lange url, mit der ne menge variablen per get übergeben werden. nun soll per dropdown die sprache geändert werden. das geht bei ersten aufruf mit hilfe von javascript sehr einfach, indem ich einfach nur an den query_string die variable mit dran hänge.
wenn ich per dropdown aber wieder zurück will, wird an den bestehenden query_string (inkl. sprachen-variable) die sprachen-variable erneut mit drangesetzt. :Skann ich die mit hilfe von php irgendwie ersetzten lassen?
um es noch ein wenig schwieriger zu machen: ziel ist es, zwei verschiedene variablen auszutauschen (nicht nur die sprachen-variable).
Hallo Roger,
dazu hast Du gleich mehrere Möglichkeiten. DU kannst einmal den Querystring ($_SERVER['QUERY_STRING']) mittels str_replace() oder preg_replace() bearbeiten,
Du kannst aber auch der einfachheit halber den String komplett neu zusammen bauen.
Deine Variablen (namen und Werte) sind doch alle im superglobalen Array $_GET gespeichert. (Und zwar jede nur einmal, ;-) Wenn Du deine URL ohne QUerystring nimmst
/pfad/zu/datei.php
ein Fragezeichen dran hängst und dann das $_GET-Array durchläufst
z.B.:
$neuer_qs = '';
foreach($_GET as $name=>$wert)
{
// hier evtl. Kontrollstruktur
$neuer_qs .= $name.'='.$wert.'&';
}
oder so ähnlich, dann kannst Du doch prima kontrollieren was jetzt alles zu deinem Querystring gehören soll und was nicht.
Gruß Horst