当前位置: 代码迷 >> PHP >> json返回值带函数名,PHP里如何回调呢
  详细解决方案

json返回值带函数名,PHP里如何回调呢

热度:395   发布时间:2016-04-28 18:34:11.0
json返回值带函数名,PHP里怎么回调呢?
本帖最后由 zlbpolly 于 2014-08-26 21:22:37 编辑
以下内容是抓取到的,现在我只能截取字符串,把函数名过滤掉,再按json格式取值。
有没有办法直接回调函数呢?

jsonp3({ "status": 200, "ercode": 0});

------解决方案--------------------
没有好办法,因为 php 尚不支持把对象写作 {}
不知道你是怎样把函数名过滤掉的
php5.4及以下可写作
$s  = 'jsonp3({ "status": 200, "ercode": 0})';
preg_replace('/^\w+?\((.+)\)$/ise', 'count($r=json_decode("$1"))', $s);
print_r($r);
php5.3及以上可写作
$s  = 'jsonp3({ "status": 200, "ercode": 0})';
preg_replace_callback('/^\w+?\((.+)\)$/is', function($m) use (&$r) { $r = json_decode($m[1]); }, $s);
print_r($r);