如何在codeigniter中从URL传递带空格的参数到控制器?

时间:2014-01-05 21:24:10

标签: php codeigniter

我在控制器中有一个接收几个参数的方法:

public function api(){
  $url_params = $this->uri->segment_array();

   //...
}

这是URL的示例:

http://testsite.com/services/api/invite-businesses/contact_name/_testing/message/some%20message/url/some_URL/

所以我的数组似乎是:

array(10) {
  [1]=>
  string(8) "services"
  [2]=>
  string(3) "api"
  [3]=>
  string(17) "invite-businesses"
  [4]=>
  string(12) "contact_name"
  [5]=>
  string(12) "_testing"
  [6]=>
  string(7) "message"
  [7]=>
  string(14) "some%20message"
  [8]=>
  string(3) "url"
  [9]=>
  string(4) "some_URL"
}

您可以看到其中一个参数有空格:some%20message

但我希望得到真正的价值,等等。 some message。该值可能包含URL转换为%xx的任何其他字符。

如何获得真正的价值

3 个答案:

答案 0 :(得分:3)

使用urldecode()解码字符串

...
 $url_params = $this->uri->segment_array();
 foreach($url_params as &$param) {
   $param = urldecode($param);
 }
 ...

答案 1 :(得分:2)

您可以尝试urldecode

echo urldecode("some%20message");

这将返回“某些消息”

答案 2 :(得分:1)

使用urldecode()解码URL编码的字符串