什么是 PHP 正则表达式来获取页面的父目录


What is the PHP regex to get the parent directory of a page?

我有一个页面:

http://somewebsite.com/1234/test/

如何使用 PHP 正则表达式从中提取1234

不要使用

RegEx 使用 parse_url() explode()


对于更高级别的级别,请使用dirname()

如果我不需要正则表达式,我喜欢避免使用它,所以我建议你这样做:

$url = explode("/", $_SERVER['PHP_SELF']);

然后,您可以使用以下内容引用所需的 url 部分:

$url[1]

如果您需要/想要使用正则表达式,我会考虑一下,稍后尝试发布解决方案。

要获得上面的一个,您可以使用

echo dirname("http://www.google.com/cake/lol");

输出

http://www.google.com/cake

或者只是/和/之间的位,你可以做

var_dump(explode("/", "http://www.google.com/cake/lol"));

或在正则表达式中

preg_match_all('@/([^/]*)/@',$sourcestring,$matches);

$_SCRIPT['REQUEST_URL']执行正则表达式或将其拆分为"/"并得到第一个元素 => 1234

如果 PHP 是通过启动该 URL 触发的,那么这些可能是真的:

$_SERVER['REQUEST_URI'] == "/1234/test/"
dirname($_SERVER['REQUEST_URI']) == "/1234"
basename(dirname($_SERVER['REQUEST_URI'])) == "1234"
preg_match(".*'/('w+)'/('w+)'/", "$url", $matches);

父目录为 $matches[1]