Home > Backend Development > PHP Tutorial > 正则 二维数组 转josn解决方案

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

WBOY
Release: 2016-06-13 10:33:08
Original
875 people have browsed it

正则 二维数组 转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>
Copy after login

这是数据,需要用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"}]}
Copy after login


------解决方案--------------------
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>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template