如果用户更改网站的语言,我试图用javascript更改php文件的包含路径。

我正在使用此代码来检查网站的语言是否为英语。

<script type="text/javascript">
        $(function() {
            var pathname = window.location.pathname;
            if (pathname.search('/en/') != -1){
                //I wanna insert the new path here
            }
        });
    </script>


然后我想从

<?php include 'navigation.php'; ?>




<?php include 'navigation_en.php'; ?>


有人知道如何进行这项工作吗?还是我必须用php检查路径名才能更改php的include函数?

最佳答案

您不能使用纯javascript来执行此操作,因为javascript在php处理完成后执行。您可以使用纯PHP执行相同的操作:

$uri = $_SERVER['REQUEST_URI'];
if(preg_match('/^\/en\//', $uri)) {
    include_once('include_en.php');
}
else {
    include_once('include.php');
}


此代码假定您的URL的格式为http://www.mydomain.com/en/some/page.php

编辑:

由于此代码在wordpress中运行,因此$_SERVER['REQUEST_URI]不会返回语言部分。多亏了OP,在wordpress中实现的方式是:

$lang = get_bloginfo('language');
if(preg_match('/^\/en-/', $lang)) {
    include_once('include_en.php');
}
else {
    include_once('include.php');
}

关于php - 用JavaScript更改PHP包含路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11204122/

10-11 22:25
查看更多