2012-01-16 2 views
1

구체화 된 경로에서 항목의 마지막 항목을 가져 오려고합니다. 아래는 내가 X, Y & Z는 임의의 문자열이 될 수 예제로 제공 한 가능한 값의 하위 집합입니다 :구체화 된 경로 마지막 정규식을 선택하는 PHP 정규식

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

내가 PHP 정규식을 사용하여 경로에서 마지막 항목을 선택할 수있는 방법은있는 것 출력 후행 /을 트리밍 한 후 마지막 /을 찾기 위해 strrpos()을 사용하여, 오히려 정규식보다

X 
Y 
Z 

답변

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

정규식이 필요 없습니다. 하지만 당신이 주장하는 경우 :

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

패스 부분은 그룹에 1

1

:

$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); 
관련 문제