一、將jsonp轉爲PHP數組和對象
/**
* jsonp轉數組|Jsonp轉json
* @param string $jsonp jsonp字符串
* @param bool $assoc true轉數組 false轉對象
* @return array|ArrayObject|null
*/
public function jsonp_decode($jsonp, $assoc = false)
{
$pattern = '/\((.*)\)/s';
if (preg_match($pattern, $jsonp, $matches))
{
if (!empty($matches['1']))
{
return json_decode($matches['1'], $assoc);
}
return null;
}
return null;
}
二、使用實例:
//jsonp字符串
$jsonp = 'callbackFunction(["jsonp1","jsonp2"])';
//jsonp轉數組
$jsonp_result = $this->jsonp_decode($jsonp,true);
var_dump($jsonp_result);
三、轉換結果:
array(2) {
[0]=>
string(13) "jsonp1"
[1]=>
string(13) "jsonp2"
}