2010-05-13 42 views
1

我正在處理多語言文件。我的網址是這個樣子:使用正則表達式檢查語言是否在url中設置

http://www.example.com/en/about/info 
http://www.example.com/nl/about/info 

現在我用的是將用戶重定向一個小的正則表達式腳本時,他們使用的鏈接沒有語言。該腳本是這樣的:

preg_match('~^/[a-z]{2}/~', $_SERVER['REQUEST_URI']) 

這個發現是否有設置EN語言| NL |德等也能正常工作的各個環節,除了這些:

http://www.example.com/en 
http://www.example.com/nl 

沒有尾隨斜槓,所以正則表達式找不到給定的值。

任何人都知道這個問題的解決方法?

回答

3
preg_match('~^/[a-z]{2}(?:/|$)~', $_SERVER['REQUEST_URI'] 
1
preg_match('~^/[a-z]{2}(?:/)?~', $_SERVER['REQUEST_URI']) 
+0

這將匹配每一個斜線後2個字符。 – serg 2010-05-13 20:50:28

+0

不知道它是否重要,但也會匹配'http:// www.mydomain.com/enfoo'。 – 2010-05-13 20:52:36

+0

沒有這場比賽不適合我的情況 – 2010-05-13 21:00:45

相關問題