我正在建立一个英文版和法文版的客户端网站。
在英文页面上,我希望用户能够点击“法语版”链接,该链接会自动将其带到法语版本的页面。
所以如果我的网址结构是这样的:
http://mysite.com/en/page-name
我希望“法语版”链接指向:
http://mysite.com/fr/page-name
有人可以请我提供php以获取当前页面网址,并在链接代码中替换/ en / for / fr /吗?我知道这可能非常简单,但我是一个新手。
答案 0 :(得分: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>
&lt;?=语法只是&lt;?php echo的缩写。我个人更喜欢这种语法,但另一方面有许多人有充分的理由不使用它。有关详细信息,请参阅this discussion。