Moin,
$url = "index.php?lang=" . $lang . "&cat=" . $cat . "&id=" . $id;
^^^^^^^^^ ^^^^
$url = preg_replace( "/^?lang=[a-z]{2}&?$/", $lang, $url)
^^^ ^^^
Fällt dir was auf?
Kann mir bitte jemand der sich ein wenig mit reg. Exp. auskennt auf die Sprünge helfen? Geht das überhaupt so oder brauch ich da ein komplexeres Pattern?
Ein wenig komplexer muß es schon sein. Damit würdest du nämlich "?lang=foo" durch "en" ersetzen. Du solltest also noch den Teil vor dem zu ersetzenden und den dahinter mit subpatterns einfangen und in einzusetzenden String schreiben:
preg_replace("/(?lang=)[a-z]{2}(&?)/", "\1".$lang."\2",$url)
--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~