切换语言时留在当前页面的HTML代码

时间:2016-07-02 02:07:10

标签: php html

我正在写这个网站,窗口顶部有一个导航栏,上面有一个切换列表,你可以选择用来查看这个网站的语言。

我设法编写了语言切换按钮的代码,这里是代码:

<li class="dropdown ' . (in_array($currentFile,$servicesArr)?'active':'') . '">
<a class="dropdown-toggle">
    <img src="assets/images/flags/cn.png" width="16" height="11" alt="CN 語言" /> [CN] 简体中文<i class="fa fa-angle-down"></i>
</a>

<ul class="dropdown-menu">
     <li><a href="index.php">
          <img src="assets/images/flags/hk.png" width="16" height="11" alt="CN 語言" /> [HK] 繁體中文</a>
     </li>
     <li><a href="#">
         <img src="assets/images/flags/us.png" width="16" height="11" alt="EN Language" /> [US] English</a>
     </li>
 </ul>
</li>

所以,我的问题是:根据我的代码,每当我更改一种语言时,链接将采用该语言的索引,但如果我不在我当前语言的索引页面怎么办?比方说,如果我用英语查看index-en / job.php,现在我想切换到中文,而不是在点击切换按钮后转到index-cn,我想切换到index-cn / job。 PHP。我怎么能这样做?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你使用了php标签,所以我猜这是一个PHP文件。您可以使用PHP使用其他语言中的相应页面动态填充href属性。

  1. 获取当前网址和语言
  2. 计算其他语言的匹配网址。
  3. 在链接的href属性中插入匹配的网址。
  4. 代码:

    <?php
    //URL path. eg: index-en/job.php
    $path = trim($_SERVER['REQUEST_URI'],'/');
    
    //language from URL. eg: index-en
    $lang = explode('/',$path)[0];
    
    //Paths in other languages: eg: 'cn' => 'index-cn/job.php'
    $langs = [
        'en'=>preg_replace("/$lang/",'index-en',$path,1),
        'cn'=>preg_replace("/$lang/",'index-cn',$path,1),
        ...
    ];
    ?>
    <ul class="dropdown-menu">
        <li><a href="<?= $langs['cn']?>">
                <img src="assets/images/flags/hk.png" width="16" 
                          height="11" alt="CN 語言" /> [HK] 繁體中文</a>
        </li>
        <li><a href="<?= $langs['en']?>">
                <img src="assets/images/flags/us.png" width="16" 
                          height="11" alt="EN Language" /> [US] English</a>
        </li>
    </ul>