2011-11-25 67 views
3

我正在建立一個英文和法文版本的客戶端網站。更改當前頁面的URL鏈接到法語版本

在英文頁面上,我希望用戶能夠點擊一個「法語版本」鏈接,該鏈接會自動將它們帶到該頁面的法語版本。

所以,如果我的URL結構是這樣的:

http://mysite.com/en/page-name

我想在 '法國版' 鏈接指向:

http://mysite.com/fr/page-name

可有人請給我PHP採取當前頁面的URL,並替換鏈接代碼中的/ en/for/fr /?我知道這可能很簡單,但我是一個PHP新手。

回答

4

在您的頁面模板或渲染中,只需將其用於鏈接即可。假設當前語言存儲在名爲$ current_lang的變量中。在你的頁面的頂部添加以下代碼(它不必在頂部,只是某處您嘗試使用鏈接前):

<?php 
$french_link = str_replace("/$current_lang/", '/fr/', $_SERVER['REQUEST_URI']); 
?> 

現在只需使用$ french_link爲您鏈接到網頁。因此,在您的錨鏈接使用此:

<a href="<?php echo $french_link; ?>">French Version</a> 

注意,大多數服務器有PHP「短標記」啓用,因此您可以使用此爲您的鏈接:

<a href="<?= $french_link; ?>">French Version</a> 

的< =語法只是速記爲<?php回聲。我個人更喜歡這種語法,但另一方面有許多人有很好的理由不使用它。詳情請參閱this discussion

+0

感謝理解@davidethell,但我不明白。我想我的意思是說我是一個新手。我的模板中的HTML應該是這樣嗎?: '">french version' – themav

+0

爲了補充說明,我已經(字面上)在網站上有一個頁面,網址爲: http://mysite.com/fr/page-name 我只是想讓用戶更容易直接轉到他們所在頁面的法語版本,而不是隻有'法語版'鏈接指向法語版本的主頁。 Kapishe? – themav

+0

@themav,我編輯了我的答案,以幫助回答你的後續問題。 – davidethell

相關問題