我需要一些帮助,我已经编写了以下preg_replace。该脚本的想法是从域名获取语言名称:
如果我有
http://www.domainname.com/nl/this/is/a/test/index.asp
我想从域名中删除(nl)
部分。 nl是语言的变量,因此它可以是:
以上域名代表语言目录......
<?php
$sitename = "http://" .$_SERVER["SERVER_NAME"];
$pagename = $_SERVER["PHP_SELF"]."this/is/a/test";
$language = "\/..\/";
$language1 = preg_replace("/$language/", "$1", "$pagename");
?>
从网址获取语言的最佳方法是什么?
有人可以给我一些指导。
由于
这是我使用以下建议提出的脚本:
<?php
$mainurl = "http://" .$_SERVER["SERVER_NAME"];
$fullpagename = $_SERVER["PHP_SELF"];
$mainlanguage = preg_replace('%^/(\w+?)/.*$%', '$1', $_SERVER["REQUEST_URI"]);
$strippedpagename = preg_replace("/$mainlanguage\//", '$1', $_SERVER["REQUEST_URI"]);
?>
<?php echo "Full URL: ".$mainurl ?><br>
<?php echo "Full Page Name: ".$fullpagename ?><br>
<?php echo "Language: ".$mainlanguage ?><br>
<?php echo "Page Name No Language: ".$strippedpagename ?><br>
究竟是我需要的,还是有更优雅的方式?
答案 0 :(得分:2)
也许是这样的:
$language = preg_replace('%^/(\w+?)/.*$%', '$1', $_SERVER["REQUEST_URI"])
答案 1 :(得分:0)
也许更简单:
$language = reset( explode('/', substr($_SERVER["REQUEST_URI"],1) ) );
这里不需要regexp。