Ich habs jetzt zur Hälfte hinbekommen. Wenn '?lang=en' vorkommt, entfernt er mir das. Nur mit '&lang=en' klappts nicht. Ich hab schon alles mögliche escaped, aber das hat nichts gebracht.
Hat jemand noch nen Tip, wo's hakt?
$uri = preg_replace('/(&lang=en)|(\?lang=en)/','',$uri);
Ok, hat sich erledigt. '&' statt '&' war die Lösung.