<?php$str = '[当日汇总]||A-直营3232514||A-电商-3902.8||[各中心当日汇总]||B-二中心1246628||B-三中心147535||B-四中心45156||B-五中心38779||B-一中心1754416||[各中心当月汇总]||C-电商121255.27||C-二中心9318335.5||C-三中心924882.4||C-四中心514201||C-五中心272218.5||C-一中心8716775||[当日销售最高店]||E-一中心-3902-3902.8||E-二中心122267||E-三中心23236||E-四中心12935||E-五中心--18627||';$regex = '/\||(.*?)\||/';
$regex1 = '/\[(.*?)\]/';
$matches = array();
preg_match_all($regex, $str,$matches);$matches1 = array();
$matches2 = array();$i = 0;
foreach($matches[1] as $v){
if(strstr($v,'[')){
preg_match_all($regex1, $v,$matches1);
$matches2[$i][] = $matches1[1][0];
$i++;
}else{
$matches2[$i-1][] = $v;
}
}
var_dump(json_encode($matches2));
$regex1 = '/\[(.*?)\]/';
$matches = array();
preg_match_all($regex, $str,$matches);$matches1 = array();
$matches2 = array();$i = 0;
foreach($matches[1] as $v){
if(strstr($v,'[')){
preg_match_all($regex1, $v,$matches1);
$matches2[$i][] = $matches1[1][0];
$i++;
}else{
$matches2[$i-1][] = $v;
}
}
var_dump(json_encode($matches2));
解决方案 »
- php post请求和jquery中post请求有什么不同吗?
- php如何将空白变成0?
- php分页问题,在线等。
- 为什么不能调用函数里面的变量?
- 高手指教:校验码是怎么做的 啊???????????
- 关于在PHP中如何使用接口的问题
- 想在服务器端动态生成图片,一般的虚拟主机支持这个功能么?
- 一个论坛注册的问题
- 对于内容发布中,针对模板中路径处理的疑惑:如:/t/t1.html模板有<img src="../pic/p1.gif">,生成静态页面/a/01/01.html。这时p1的路径
- php 简单的图片上传问题 move_uploaded_file()总是出错
- mcrypt_encrypt错误怎么 解决
- 为什么每页显示数量不一样
$str = '[当日汇总]||A-直营3232514||A-电商-3902.8||[各中心当日汇总]||B-二中心1246628||B-三中心147535||B-四中心45156||B-五中心38779||B-一中心1754416||[各中心当月汇总]||C-电商121255.27||C-二中心9318335.5||C-三中心924882.4||C-四中心514201||C-五中心272218.5||C-一中心8716775||[当日销售最高店]||E-一中心-3902-3902.8||E-二中心122267||E-三中心23236||E-四中心12935||E-五中心--18627||';
$arr = explode("||",$str);
$res = array();
$pos = -1;
foreach($arr as $k => $v){
if(strpos($v,']'))
$pos ++;
$res[$pos][] = trim($v,'[]');
}
var_dump($res);
json_encode一下,应该能用,呵呵