检查是否在使用正则表达式的url中设置了语言

时间:2010-05-13 20:41:29

标签: php regex

我正在处理多语言文件。我的网址看起来像这样:

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

现在我使用一个小的正则表达式脚本,当用户使用没有语言的链接时重定向用户。脚本如下所示:

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

这可以找出是否有语言集en | nl | de等。除了这些之外的所有链接都可以正常工作:

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

没有尾部斜杠,因此正则表达式无法找到给定的值。

任何人都知道修复此问题吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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