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

时间:2012-04-13 16:28:36

标签: php regex

我有一个页面:

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

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

6 个答案:

答案 0 :(得分:5)

请勿使用RegEx使用 parse_url() explode()


对于一个级别,请使用 dirname()

答案 1 :(得分:2)

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

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

然后你可以使用它来引用你想要的网址部分:

$url[1]

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

答案 2 :(得分: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);

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

$_SERVER['REQUEST_URI'] == "/1234/test/"

dirname($_SERVER['REQUEST_URI']) == "/1234"

basename(dirname($_SERVER['REQUEST_URI'])) == "1234"

答案 5 :(得分:0)

preg_match(".*\/(\w+)\/(\w+)\/", "$url", $matches);

父目录为$matches[1]