1

我正在尝试从物化路径中获取项目的最后一次出现。下面是我作为示例提供的可能值的子集,其中 X、Y 和 Z 可以是任意字符串:

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

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

X
Y
Z
4

3 回答 3

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

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

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

路径部分在第 1 组中。

于 2012-01-16T22:58:28.747 回答
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
于 2012-01-16T22:57:30.170 回答
0

我会选择 preg_split 和 array_pop:

$test = "a/a/v/";
$test = rtrim($test,'/');
$arr = preg_split('/\//',$test);
$lastelement = array_pop($arr);
var_dump($lastelement);
于 2012-01-16T23:01:15.410 回答