我使用Codeigniter來創建一個多語言網站,一切工作正常,但是當我嘗試使用Luis的「替代語言助手」時,我遇到了問題。這個輔助使用正則表達式用新的替換當前的語言:Codeigniter和preg_replace
$new_uri = preg_replace('/^'.$actual_lang.'/', $lang, $uri);
的問題是,我有一個這樣的URL:http://www.example.com/en/language/english/
,我想只替換第一個「恩」不改變單詞「英文」。我試圖使用preg_replace
的限制:
$new_uri = preg_replace('/^'.$actual_lang.'/', $lang, $uri, 1);
但這不適用於我。有任何想法嗎?
問題中給出的URL仍然與該正則表達式匹配。 – 2010-08-17 19:04:05
它仍然會匹配,但只有第一個'en'部分。後面的英文/不匹配(因此不會被替換)... – ircmaxell 2010-08-17 19:05:20
其實,我說得太快了。該URL根本不會匹配,因爲該URL不以en開頭。然而,如果沒有'^'錨點,'http:// www.example.com/en/language/en /'會匹配兩次。 – 2010-08-17 19:09:33