2011-11-25 64 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

相关问题