PHP新手问一个字符串分割的问题 现在我有一串格式化的字符串我要求每次遇到5个','后,往后读取3个字符处 切割字符串 比如a,b,21,3efw,123123,dcf (在此处分割) 3,df,23,2ter,13232,asd (在此处分割) ……小弟新学PHP 高手指点啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用explode可以实现,先用分割符生成一个数组,再使用数组每一个元素进行第二次分割,分割符用逗号 $str = 'a,b,21,3efw,123123,dcf3,df,23,2ter,13232,asdaa,b,sfs21,3efadw,123123,dcf3,dadf,23,2ter,13232,asadd,ff';preg_match_all("/(([^,]+,){5}...).*/iU",$str,$m);var_dump($m);最后的一段“dd,ff”暂时没分出来……要再想想 用正则吧看是否得到你的需求<?php$str = 'a,b,21,3efw,123123,dcf3,df,23,2ter,13232,as,dcf3,df,23,2ter,13232,asd';$reg = '/(?:[^,]*,){5}[^,]{0,3}/im';$matches = array();preg_match_all($reg, $str, $matches);print_r($matches); 如果还要加上剩余的匹配则是<?php$str = 'a,b,21,3efw,123123,dcf3,df,23,2ter,13232,asdaa,b,sfs21,3efadw,123123,dcf3,dadf,23,2ter,13232,asadd,ff';$reg = '/(?:[^,]*,){5}[^,]{0,3}|(?:[^,]*,?){0,4}$/im';$matches = array();preg_match_all($reg, $str, $matches);print_r($matches); $s = 'a,b,21,3efw,123123,dcf3,df,23,2ter,13232,asdxxx';preg_match_all('/(?:[^,]*,){5}.{1,3}/s', $s, $r);print_r($r);Array( [0] => Array ( [0] => a,b,21,3efw,123123,dcf [1] => 3,df,23,2ter,13232,asd )) 跑马灯中信息显示的问题 然后去判断? PHP从数据库里读取的数据问题 如何把EDI数据导入到网站或者说其他格式的数据库 使用SharePoint.OpenDocuments.2在线编辑word文件,为什么不能保存到服务器上?? php上传断点续传 asp功能在php实现问题 怎样申请域名 关于树形结构,如何实现无限级的目录结构,就像资源管理器一样!谢谢各位,一定有分! 当鼠标移动上去时层显示1.gif背景图,鼠标出来时显示2.gif背景图,大家帮我写写代码,,谢谢 这个回车空格怎么去掉? PHP一个小功能
preg_match_all("/(([^,]+,){5}...).*/iU",$str,$m);
var_dump($m);
最后的一段“dd,ff”暂时没分出来……要再想想
<?php$str = 'a,b,21,3efw,123123,dcf3,df,23,2ter,13232,as,dcf3,df,23,2ter,13232,asd';$reg = '/(?:[^,]*,){5}[^,]{0,3}/im';$matches = array();preg_match_all($reg, $str, $matches);print_r($matches);
<?php$str = 'a,b,21,3efw,123123,dcf3,df,23,2ter,13232,asdaa,b,sfs21,3efadw,123123,dcf3,dadf,23,2ter,13232,asadd,ff';$reg = '/(?:[^,]*,){5}[^,]{0,3}|(?:[^,]*,?){0,4}$/im';$matches = array();preg_match_all($reg, $str, $matches);print_r($matches);
preg_match_all('/(?:[^,]*,){5}.{1,3}/s', $s, $r);
print_r($r);Array
(
[0] => Array
(
[0] => a,b,21,3efw,123123,dcf
[1] => 3,df,23,2ter,13232,asd
))