正则 二维数组 转josn

cn5168 2012-07-10 02:25:18
<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输出。希望输出这样的
{"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"}]}
...全文
332 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯狂的狙击手 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

PHP code
$s='<p>&middot;2012-05-29 20:51:50<br /> 已签收,签收人是草签</p> <p>&middot;2012-05-28 21:16:17<br /> 【新疆奎屯公司】已进行【疑难件】扫描 ,疑难件原因:【客户要求更改派送】</p> <p>&middot;2012-05-28 11:30:21<br /> 【新疆奎屯公……
[/Quote]

又见飞刀.... 楼主结贴吧
一起混吧 2012-07-10
  • 打赏
  • 举报
回复
$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>(.*)<\/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);
tottyandbaty 2012-07-10
  • 打赏
  • 举报
回复
抛砖引玉吧。。。



<?
$js="<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>";


preg_match_all("/<p>·([\d-:\s]+)<br \/>(.*?)<\/p>/",$js,$rs);
print_r(array_combine($rs[1],$rs[2]));
/*
Array
(
[2012-05-29 20:51:50] => 已签收,签收人是草签
[2012-05-28 21:16:17] => 【新疆奎屯公司】已进行【疑难件】扫描 ,疑难件原因:【客户要求更改派送】
[2012-05-28 11:30:21] => 【新疆奎屯公司】的派件员【王会全 】正在派件
[2012-05-28 11:13:10] => 快件已到达【新疆奎屯公司】 扫描员是【新疆奎屯】上一站是【】
[2012-05-26 05:56:59] => 由【新疆乌鲁木齐中转部】发往【新疆奎屯公司】
[2012-05-23 21:47:13] => 由【浙江宁波航空部】发往【新疆乌鲁木齐航空部】
[2012-05-23 21:44:03] => 快件已到达【浙江宁波航空部】 扫描员是【称重3】上一站是【浙江宁波江北公司】
[2012-05-23 20:10:59] => 由【浙江宁波江北公司】发往【浙江宁波航空部】
[2012-05-23 20:09:48] => 【浙江宁波江北公司】的收件员【牛德贵 】已收件
)

*/
?>
cn5168 2012-07-10
  • 打赏
  • 举报
回复
求高手解决

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧