2012-06-29 68 views
0

可能重複:
Replace values in a URI query string變遷語言變量

我使用導航欄語言切換到EN和DE之間進行切換,我的URL結構是這樣的:

http://www.mydomain.com/gallery.php?lang=de 
http://www.mydomain.com/gallery-item.php?id=100&lang=de 

該開關適用於所有沒有身份證的網址,但它沒有w與ID的ork。

<?php 
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; 
<a href='.$url.'?lang=en"> 
<a href='.$url.'?lang=de"> 
?> 

什麼分別= xx是一個很好的解決方案,以檢查$ LANG = XX或?郎= XX,然後添加?郎= XX或者$ LANG?

+0

你使用任何htaccess的代碼重寫網址嗎? – Hardik

+0

如果沒有設置$ _SERVER ['PHP_SELF']'(該變量包含url參數),並且添加'&'(如果已設置),則嘗試僅添加'?'。 :) –

回答

0
$params = $_GET; 

$params['lang'] = 'en'; 
printf('<a href="%s?%s">En</a>', $url, http_build_query($params)); 

$params['lang'] = 'de'; 
printf('<a href="%s?%s">De</a>', $url, http_build_query($params)); 

甚至很緊湊:

printf('<a href="%s?%s">De</a>', 
     $url, http_build_query(array('lang' => 'de') + $_GET)); 

http://php.net/http_build_query