Heim >Backend-Entwicklung >PHP-Tutorial >正则 二维数组 转josn解决方案

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

WBOY
WBOYOriginal
2016-06-13 10:33:08875Durchsuche

正则 二维数组 转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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn