2010-07-02 2 views
1

나는 CodeIgniter의 기능에 쿼리 문자열에서 보낸 URL을 검색하기 위해 노력하고있어 :CodeIgniter의 +에 encodeURIComponent

function recipe($url = ''){ 

     $url = $this->uri->uri_string(); 
     $url = ltrim($url, '/bookmarklet/recipe/'); 

     log_message('info', 'URL: ' . rawurldecode($url)); 
그러나

어떤 이유로 URL을 항상 행방 불명입니다에 '/'http 프로토콜에서, 무엇을 로그에서 얻을 수있는 내용은 다음과 같습니다.

INFO - 2010-07-02 12:12:51 --> URL: http:/www.google.com.eg/ 
+0

urldecode 이전에 'url'은 어떻게 생겼습니까? – DrColossos

+0

동일한 http : /www.google.com.eg/ 효과가 없었습니다. 어쩌면 uri_string()이 이스케이프 된 문자열을 반환합니까? –

+0

정말 원하는대로 ltrim을 사용합니까? http://php.net/ltrim – Boldewyn

답변

0

uri-> uri_string()에 가면 내부적으로 여러 문자를 이스케이프 다음과 같은 출력을 기대하고, 그래서 것 'http :/www.'를 반환하고 대신 서버 변수를 사용합니다. $ _SERVER

0

도메인 이름을 얻는 방법을 알 수 없습니다. 그리고 $ url-argument가 있지만 첫 번째 코드 행으로 대체하는 이유는 무엇입니까?

나는 "http://www을."당신이 http://domain.com/bookmarklet/recipe/food 분명히
INFO (date etc) --> URL: food

+0

uri_string()을 호출하면 도메인 이름이나 호스트를 얻지 못합니다./bookmarklet/start/http % 3A % 3F % 3Fwww .google.com은 docs가 말하는 http://codeigniter.com/user_guide/libraries/uri.html입니다. –