Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用正则表达式检查url中是否设置了语言_Php_Regex - Fatal编程技术网

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

Php 使用正则表达式检查url中是否设置了语言,php,regex,Php,Regex,我正在处理一个多语言文件。我的URL如下所示: http://www.example.com/en/about/info http://www.example.com/nl/about/info preg_match('~^/[a-z]{2}/~', $_SERVER['REQUEST_URI']) 现在,我使用了一个小的正则表达式脚本,当用户使用没有语言的链接时,它会重定向用户。脚本如下所示: http://www.example.com/en/about/info http://www.

我正在处理一个多语言文件。我的URL如下所示:

http://www.example.com/en/about/info
http://www.example.com/nl/about/info
preg_match('~^/[a-z]{2}/~', $_SERVER['REQUEST_URI'])
现在,我使用了一个小的正则表达式脚本,当用户使用没有语言的链接时,它会重定向用户。脚本如下所示:

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个字符。不知道这是否重要,但这也将匹配
http://www.mydomain.com/enfoo
。这将在每个斜杠后匹配2个字符。不知道这是否重要,但这也将匹配
http://www.mydomain.com/enfoo
preg_match('~^/[a-z]{2}(?:/)?~', $_SERVER['REQUEST_URI'])