我需要一些幫助我寫了下面的preg_replace。劇本的想法是讓從域名語言名稱:如何替換URL中的語言標識符?
如果我有一個
http://www.domainname.com/nl/this/is/a/test/index.asp
我想剝離(nl)
部分從域名。國聯是語言變量,因此它可能是:
- http://www.domainname.com/nl/this/is/a/test/index.asp
- http://www.domainname.com/fr/this/is/a/test/index.asp
- http://www.domainname.com/de/this/is/a/test/index.asp
以上域表示語言目錄...
<?php
$sitename = "http://" .$_SERVER["SERVER_NAME"];
$pagename = $_SERVER["PHP_SELF"]."this/is/a/test";
$language = "\/..\/";
$language1 = preg_replace("/$language/", "$1", "$pagename");
?>
- 我只使用腳本,我知道會有一個語言目錄。
- 上面的腳本也從url中刪除了這個/ a/test /(是)。 (告訴我來說,劇本是貪婪的。
什麼是抓住從URL中語言的最佳方法是什麼?
可有人請我提供一些指導做好。
感謝
這是我想出了用以下的建議,該腳本:
<?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>
正是我需要的,或者是重新更優雅的方式?
也許我錯了,但它看起來像你真的只是用$語言取代$ _SERVER ['PHP_SELF'] ...如果是這樣的話,爲什麼不在你的$ pagename任務中使用$ language來開始用? – 2011-03-28 17:51:00
如何爲所有不同的語言定義語言,這樣我有一個文件,爲我找到語言? – 2011-03-28 17:57:51
好的等待我現在明白了,對不起,誤解了 – 2011-03-28 18:02:27