我有一个页面:
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]
。