2012-01-16 58 views
1

我试图从物化路径中获取物品的最后一次出现。下面是我提供作为一个例子,其中X,Y & Z可以是任意字符串可能值的子集:物化路径PHP正则表达式来选择最后一个项目

X/ 
X/Y/ 
X/Y/Z/ 

我如何使用PHP正则表达式选择路径上最后一个项目这将输出以下为上述相应的行:

X 
Y 
Z 

回答

3
$parts = explode('/', trim($url, '/')); 
$lastpart = end($parts); 

不需要正则表达式。但是,如果你坚持:

#^/?([^/]+)/?$# 

路径的部分是在组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 
0

我会去一个使preg_split和array_pop:

$test = "a/a/v/"; 
$test = rtrim($test,'/'); 
$arr = preg_split('/\//',$test); 
$lastelement = array_pop($arr); 
var_dump($lastelement);