mmm prova un po' questa, sembra funzionare, con l'unica imperfezione che a volte lascia un & in fondo alla query, ma ai fini del get non dovrebbe dare noia.codice:echo preg_replace('/(?<=^index\.php)\??((\S*?&)?(lang=\S*?(&|$)))?/','?lang=xxx&${2}',$url);