2013-03-18 80 views
4

我想這是一個小問題,但我不得不在這裏問,因爲我在我的項目中運行不足。當我將字符串傳遞給另一個控制器中的函數時,它將空格更改爲%20符號。我想控制器認爲字符串作爲url傳遞並對其進行編碼。但我不知道如何刪除它,或者如果可能的話不要讓它將空格變成%20。這是我使用的代碼;%20被加入而不是空格

$message="The user name you provided is already in our database"; 
redirect('admin/add_user/'.$message); 

這裏是我的控制器功能,我收到消息;

public function add_user($message) 
{ 
    echo $message; 
} 

我也試過這個;

public function add_user() 
{ 
    echo $this->uri->segment(3); 
} 

但結果是一樣的。這是字符串的輸出;

The%20user%20name%20you%20provided%20is%20already%20in%20our%20database 

回答

2

試試這個:

echo urldecode($message); 

,因爲要傳遞的消息的一部分URL(重定向做了一個新的http請求),它會自動進行網址編碼。一旦服務器收到它,你只需要解碼它。

+0

謝謝。它實際上工作。 – 2013-03-18 11:36:03

0

當保存到數據庫中使用:

htmlentities($variable) 

outputing使用時:

echo html_entity_decode($variable, ENT_COMPAT, 'UTF-8'); 
相關問題