物化路径PHP Regex选择最后一项


Materialized Path PHP Regex to Select Last Item

我正试图从物化路径中获取项的最后一次出现。下面是我提供的可能值的子集;Z可以是任意字符串:

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

我如何使用php regex选择路径上的最后一项,它将为上面的相应行输出以下内容:

X
Y
Z
$parts = explode('/', trim($url, '/'));
$lastpart = end($parts);

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

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

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

我会选择preg_split和array_pop:

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