ホームページ  >  記事  >  バックエンド開発  >  jsonの戻り値に関数名がある場合、PHPでコールバックする方法

jsonの戻り値に関数名がある場合、PHPでコールバックする方法

WBOY
WBOYオリジナル
2016-06-13 12:06:041215ブラウズ

json返回值带函数名,PHP里怎么回调呢?

本帖最后由 zlbpolly 于 2014-08-26 21:22:37 编辑 以下内容是抓取到的,现在我只能截取字符串,把函数名过滤掉,再按json格式取值。
有没有办法直接回调函数呢?
<br />jsonp3({ "status": 200, "ercode": 0});<br />

------解决方案--------------------
没有好办法,因为 php 尚不支持把对象写作 {}
不知道你是怎样把函数名过滤掉的
php5.4及以下可写作
$s  = 'jsonp3({ "status": 200, "ercode": 0})';<br />preg_replace('/^\w+?\((.+)\)$/ise', 'count($r=json_decode("$1"))', $s);<br />print_r($r);<br />
php5.3及以上可写作
$s  = 'jsonp3({ "status": 200, "ercode": 0})';<br />preg_replace_callback('/^\w+?\((.+)\)$/is', function($m) use (&$r) { $r = json_decode($m[1]); }, $s);<br />print_r($r);<br />
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。