J'utilise Codeigniter pour créer un site Web multilingue et tout fonctionne bien, mais quand j'essaie d'utiliser le "assistant de langues alternatives" de Luis, j'ai un problème. Cette aide utilise une expression régulière pour remplacer le libellé actuel par le nouveau:Codeigniter et preg_replace
$new_uri = preg_replace('/^'.$actual_lang.'/', $lang, $uri);
Le problème est que j'ai une URL comme ceci: http://www.example.com/en/language/english/
et je veux remplacer seulement le premier « en » sans changer le mot "anglais". J'ai essayé d'utiliser la limite pour preg_replace
:
$new_uri = preg_replace('/^'.$actual_lang.'/', $lang, $uri, 1);
mais cela ne fonctionne pas pour moi. Des idées?
L'URL indiquée dans la question sera toujours associée à cette expression régulière. –
Il serait encore apparié, mais seulement la première partie 'en'. Le 'anglais /' final ne serait pas apparié (et donc ne serait pas remplacé) ... – ircmaxell
En fait, j'ai parlé trop tôt. L'URL ne sera pas mise en correspondance du tout, car l'URL ne commence pas par en. Sans l'ancre '^', cependant, 'http: // www.example.com/en/language/en /' correspondrait deux fois. –