Maison >développement back-end >tutoriel php >正则 二维数组 转josn解决方案

正则 二维数组 转josn解决方案

WBOY
WBOYoriginal
2016-06-13 10:33:08875parcourir

正则 二维数组 转josn

HTML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><p>·2012-05-29 20:51:50<br> 已签收,签收人是草签</p> <p>·2012-05-28 21:16:17<br> 【新疆奎屯公司】已进行【疑难件】扫描 ,疑难件原因:【客户要求更改派送】</p> <p>·2012-05-28 11:30:21<br> 【新疆奎屯公司】的派件员【王会全 】正在派件</p> <p>·2012-05-28 11:13:10<br> 快件已到达【新疆奎屯公司】 扫描员是【新疆奎屯】上一站是【】</p> <p>·2012-05-26 05:56:59<br> 由【新疆乌鲁木齐航空部】发往【新疆奎屯公司】</p> <p>·2012-05-26 05:56:59<br> 由【新疆乌鲁木齐中转部】发往【新疆奎屯公司】</p> <p>·2012-05-23 21:47:13<br> 【浙江宁波航空部】正在进行【装袋】扫描</p> <p>·2012-05-23 21:47:13<br> 由【浙江宁波航空部】发往【新疆乌鲁木齐航空部】</p> <p>·2012-05-23 21:44:03<br> 快件已到达【浙江宁波航空部】 扫描员是【称重3】上一站是【浙江宁波江北公司】</p> <p>·2012-05-23 20:10:59<br> 由【浙江宁波江北公司】发往【浙江宁波航空部】</p> <p>·2012-05-23 20:09:48<br> 【浙江宁波江北公司】的收件员【牛德贵 】已收件</p>

这是数据,需要用php把它弄成二维数组再转成josn输出。希望输出这样的
Java code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->{"status":"1","data":[{"time":"2012-05-29 20:51:50","context":"已签收,签收人是草签","ftime":"2012-05-29 20:51:50"},{"time":"2012-05-28 21:16:17","context":"【新疆奎屯公司】已进行【疑难件】扫描 ,疑难件原因:【客户要求更改派送】","ftime":"2012-05-28 21:16:17"},{"time":"2012-05-28 11:30:21","context":"【新疆奎屯公司】的派件员【王会全 】正在派件","ftime":"2012-05-28 11:30:21"},{"time":"2012-05-28 11:13:10","context":"快件已到达【新疆奎屯公司】 扫描员是【新疆奎屯】上一站是【】","ftime":"2012-05-28 11:13:10"},{"time":"2012-05-26 05:56:59","context":"由【新疆乌鲁木齐航空部】发往【新疆奎屯公司】","ftime":"2012-05-26 05:56:59"},{"time":"2012-05-26 05:56:59","context":"由【新疆乌鲁木齐中转部】发往【新疆奎屯公司】","ftime":"2012-05-26 05:56:59"},{"time":"2012-05-23 21:47:13","context":"【浙江宁波航空部】正在进行【装袋】扫描","ftime":"2012-05-23 21:47:13"},{"time":"2012-05-23 21:47:13","context":"由【浙江宁波航空部】发往【新疆乌鲁木齐航空部】","ftime":"2012-05-23 21:47:13"},{"time":"2012-05-23 21:44:03","context":"快件已到达【浙江宁波航空部】 扫描员是【称重3】上一站是【浙江宁波江北公司】","ftime":"2012-05-23 21:44:03"},{"time":"2012-05-23 20:10:59","context":"由【浙江宁波江北公司】发往【浙江宁波航空部】","ftime":"2012-05-23 20:10:59"},{"time":"2012-05-23 20:09:48","context":"【浙江宁波江北公司】的收件员【牛德贵 】已收件","ftime":"2012-05-23 20:09:48"}]}


------解决方案--------------------
PHP code
$s='<p>·2012-05-29 20:51:50<br> 已签收,签收人是草签</p> <p>·2012-05-28 21:16:17<br> 【新疆奎屯公司】已进行【疑难件】扫描 ,疑难件原因:【客户要求更改派送】</p> <p>·2012-05-28 11:30:21<br> 【新疆奎屯公司】的派件员【王会全 】正在派件</p> <p>·2012-05-28 11:13:10<br> 快件已到达【新疆奎屯公司】 扫描员是【新疆奎屯】上一站是【】</p> <p>·2012-05-26 05:56:59<br> 由【新疆乌鲁木齐航空部】发往【新疆奎屯公司】</p> <p>·2012-05-26 05:56:59<br> 由【新疆乌鲁木齐中转部】发往【新疆奎屯公司】</p> <p>·2012-05-23 21:47:13<br> 【浙江宁波航空部】正在进行【装袋】扫描</p> <p>·2012-05-23 21:47:13<br> 由【浙江宁波航空部】发往【新疆乌鲁木齐航空部】</p> <p>·2012-05-23 21:44:03<br> 快件已到达【浙江宁波航空部】 扫描员是【称重3】上一站是【浙江宁波江北公司】</p> <p>·2012-05-23 20:10:59<br> 由【浙江宁波江北公司】发往【浙江宁波航空部】</p> <p>·2012-05-23 20:09:48<br> 【浙江宁波江北公司】的收件员【牛德贵 】已收件</p>';$arr=array("message"=>"ok","ischeck"=>"1","updatetime"=>"2012-07-10 13:40:22","status"=>"200");preg_match_all('/<p>(.*)/U',$s,$m);foreach($m[1] as $v){      $t=preg_split('/[·<br>]+/',$v,-1,PREG_SPLIT_NO_EMPTY);      $ar[]=array('time'=>$t[0],'context'=>$t[2],'ftime'=>$t[0]);}array_push($arr,$ar);echo json_encode($arr);</p><div class="clear">
                 
              
              
        
            </div>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn