2015-06-27 144 views
2

我有一個變量,我通過URL傳遞爲jSON字符串,其中一部分是低於字符串:PHP parse_str函數替換+符號與空間

signature=8W2sp\/J+kC6fh8a88jabNPuA8048sShDnXNOo1jSQ= 

當我讀到的URL和解析字符串使用parse_str()函數在php +符號正在被空間替換。有沒有辦法禁用空間替換+

+0

使用'urlencode'內'parse_str()'或更換'+'和'%2B'解析 – CrakC

回答

2

由於parse_str自動將url_decode應用於給定字符串,所以加上符號被解碼爲空格字符。要保留加號,您可以使用urlencode

$arr = array(); 
$x = "8W2sp/J+kC6fh8a88jabNPuA8048sShDnXNOo1jSQ="; 
parse_str(urlencode($x),$arr); 
var_dump($arr); 

觀看演示:http://codepad.org/wxLIqmIi

+0

之前,我想這一點,但parse_str實際上是把一個字符串* *在$ arr中。 – dauber