时间:15-05-17 栏目:网站开发 作者:admin 评论:0 点击: 6,975 次
php处理HTML中的JSON字符串时,有时会遇到一些只有JAVASCRIPT 引擎才能解析的JSON格式字符串,
比如KEY没有用引号包围等,本函数对此类JSON字符串使用兼容方式进行处理
/** * php兼容json_decode函数 * * @param $json string JSON字符串,支持非PHP标准的JSON格式,如: { adminMemberId: "b2b-2009684904", contactList:[ {name:"杨旎"} ] } * 有一部分代码处理仅为支持taobao页面的数据作的优化 * */ function json2array($json){ if(!$json) return null; $json = preg_replace('@;(\d+):(\d+)@isU',';\\1*!*\\2',$json); $json = str_replace('+new Date','0',$json); $json = str_replace('startTime:(0()),','',$json); $json = str_replace(': now,',': "",',$json); $json = str_replace('{','array(',$json); $json = str_replace('}',')',$json); $json = str_replace('[','array(',$json); $json = str_replace(']',')',$json); $json = preg_replace('@([0-9a-z_]+)([\s]+)?:@isU','"\\1":',$json); $json = str_replace('":','"=>',$json); $json = str_replace('"https"=>','https:',$json); $json = str_replace('"http"=>','http:',$json); $json = trim($json,';'); $json = trim($json); $json = preg_replace('@;(\d+)\*\!\*(\d+)@isU',';\\1:\\2',$json); @eval('$c = '.$json.';'); return $c; }
声明: 本文由( admin )原创编译,转载请保留链接: 青剑开源代码:php兼容json_decode函数json2array
------====== 本站公告 ======------
联系信息:
电话:19970108113(微信同号) QQ:3142401606
支付宝:https://me.alipay.com/lxq73061
相关插件程序等信息均会在站内发布,敬请关注。