2010-07-02 63 views
1

我試圖找回在笨功能在查詢字符串中發送的URL:笨+ 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 2010-07-02 09:31:06

+0

相同的http:/www.google.com.eg/它沒有任何作用,也許uri_string()返回一個轉義字符串? – 2010-07-02 09:47:08

+0

你確定,你用你想要的方式使用ltrim嗎? http://php.net/ltrim – Boldewyn 2010-08-25 11:37:40

回答

0

顯然URI-> uri_string()內部逃逸幾個字符,所以 「http://www」。會返回'http:/ www。',請使用服務器變量來代替$ _SERVER

0

我看不出你會怎麼得到域名。爲什麼你有一個$ url-argument但是用第一行代碼覆蓋它呢?

我希望下面的輸出,如果你去http://domain.com/bookmarklet/recipe/food
INFO (date etc) --> URL: food

+0

我沒有得到域名或主機,當我調用uri_string()它返回:/ bookmarklet /開始/ http%3A%3F%3Fwww .google.com這是文檔所說的http://codeigniter.com/user_guide/libraries/uri.html – 2010-07-03 05:25:38