我在控制器中有一个接收几个参数的方法:
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
的任何其他字符。
如何获得真正的价值
答案 0 :(得分:3)
使用urldecode()解码字符串
...
$url_params = $this->uri->segment_array();
foreach($url_params as &$param) {
$param = urldecode($param);
}
...
答案 1 :(得分:2)
答案 2 :(得分:1)
使用urldecode()解码URL编码的字符串