Réponse acceptée !
Salut Zen69,
J'ai un problème étrange... je ne sais pas si juste moi qui est fatigué mais bon.
Peut être l'es tu, mais ce "problème" n'est pas si étrange.
Tentative d'explication :
Code PHP :
<?php
$url = 'http://www.gogle.com/?l=eng'; // ou $url[1], c'est juste pour simplifier
$pat = array('/l=eng/', '/l=fr/');
$rep = array('l=fr', 'l=eng');
echo preg_replace($pat, $rep, $url),"<br/>";
?>
Ce qu'il se passe dans le preg_replace :
La fonction recherche le masque
"l=eng" ($pat[0])
elle le trouve et le remplace par "l=fr", la chaine résultante est donc :
http://www.gogle.com/?l=fr
elle passe à l'index 1 du tableau $pat pour chercher le masque
'l=fr'
le problème c'est qu'en interne $url n'est plus égal à
'http://www.gogle.com/?l=eng' mais à
'http://www.gogle.com/?l=fr' (remplacement précédent)
elle trouve donc le masque
'l=fr' et le remplace par $rep[1], soit :
http://www.gogle.com/?l=eng
En espérant avoir été clair ...
Cordialement,
Kohntark -