2012-06-18 2 views
-1

가능한 중복을 반환하는 URL의 마지막 단어를 얻을 :
PHP Get end string on url between/and /PHP는 빈

나는 사이의 URL의 마지막 부분을 얻기 위해이 코드를 가지고 /와/끝.

URL은 :

http://mydomain.com/category/mobile/ 

나는 그것에서 "모바일"검색 할 필요가있다.

내가 사용하고 코드입니다 :

$url = trim($url, '/'); 

//Put it in a variable 
$the_category = substr($url, strrpos($url, '/')); 

//whats in it? 
echo $the_category; 

위를 반환 아무것도 ... 어떤 아이디어?

+0

및 그것은'/ mobile'을 인쇄합니다 – flowfree

+0

나는 $ url = "http://mydomain.com/category/mobile/"을 설정함으로써 이것을 단순화 시켰습니다. 예상대로 반품/이동합니다. – EmmanuelG

+0

http://codepad.org/f5dhMGAw –

답변

2

당신은 구분 기호로 "/"를 사용하여 배열을 폭발하고 같은 배열의 마지막 값을 얻을해야합니다

<? 
$url = $_SERVER['REQUEST_URI']; 

$url = trim($url, '/'); 

$array = explode('/',$url); 

$the_category = end($array); 

//what's in it? 
echo $the_category; 
?> 
+0

궁극적으로 이것이 그가하는 일과 어떻게 다른가요? 그는 문자열에서 마지막 슬래시의 위치를 ​​구문 분석하고 있습니다. 끝내기 위해 새 요소 (사용되지 않은 변수)로 각 요소를 확장하는 것 외에는 동일하게 수행합니다. 당신의 방법은 아마도 배열 때문에 메모리 풋 프린트가 더 높을 수도 있습니다. 이 두 가지 방법은 요청 매개 변수를 구문 분석하는 아주 엉성한 방법입니다. –

+0

"mobile"대신 "/ mobile"을 반환 했으므로 his 슬래시가 포함되어 있지만 배열에 사용할 URI가 포함 된 하위 카테고리가있는 것이 좋습니다. 게다가 그는 자기가 일하지 않는다고 말했다. (나는 시험하지 않았다). – iDsteven

+0

하드 코딩 된 URL 문자열과 함께 작동합니다. 하드 코딩 된 문자열 대신 실제 URL을 가져 오기 위해 $ url을 얻으려면 어떻게해야합니까? – Satch3000

2

방법에 대해 : 내가 코드를 시도

$the_category = basename($url); 
+2

+1 : 예. PHP를 사용하려는 경우 직접 작성하지 않고 제공하는 유틸리티 함수를 사용할 수도 있습니다. – Spudley