我正在尝试从物化路径中获取最后一个项目。下面是我提供的可能值的子集作为示例,其中X,Y和& Z可以是任意字符串:
X/
X/Y/
X/Y/Z/
如何使用php regex选择路径上的最后一项,这将为上面的相应行输出以下内容:
X
Y
Z
答案 0 :(得分:3)
$parts = explode('/', trim($url, '/'));
$lastpart = end($parts);
不需要正则表达式。但如果你坚持:
#^/?([^/]+)/?$#
路径部分位于第1组。
答案 1 :(得分:1)
而不是正则表达式,在修剪尾随/
之后使用strrpos()
查找最后/
:
$string = "/x/y/";
$string = rtrim($string, "/");
echo substr($string, strrpos($string, "/") + 1);
// y
$string = "/x/y/z/";
// prints
// z
$string = "/x";
// prints
// x
答案 2 :(得分:0)
我会选择preg_split和array_pop:
$test = "a/a/v/";
$test = rtrim($test,'/');
$arr = preg_split('/\//',$test);
$lastelement = array_pop($arr);
var_dump($lastelement);