又一个php正则表达式的问题匹配文本成二维数组分数给力
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了又一个php正则表达式的问题匹配文本成二维数组分数给力,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含16667字,纯文字阅读大概需要24分钟。
内容图文
![又一个php正则表达式的问题匹配文本成二维数组分数给力](/upload/InfoBanner/zyjiaocheng/196/f391ad44d90b4f6ca0dbab5a7dbfe8ea.jpg)
查询结果如下: 该交通违法有记录! 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2011-02-08 15:21:52.0 违法地点: 省道高铜线台山市斗山镇路段 采集机关: 台山市公安局交通警察大队斗山中队 所在地市: 违法行为名称: 机动车行驶超过规定时速50%以下的 处理地点: 台山市台城缠溪松山咀 处理地点联系电话: 0750-5520011 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2010-10-25 07:12:57.0 违法地点: 东莞市长安镇莱茵阁路口(固定电子警察) 采集机关: 东莞市公安局交通警察支队长安大队 所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 处理地点: 东莞市长安镇大板地工业大道1号 处理地点联系电话: 0769-81661611 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2010-12-29 20:34:39.0 违法地点: 振安夏边路口(东-西) 采集机关: 东莞市公安局交通警察支队长安大队 所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 处理地点: 东莞市长安镇大板地工业大道1号 处理地点联系电话: 0769-81661611 设为首页 | 加入收藏 | 联系方法 | 网站地图 | 友情链接 | 版权声明 版权所有 2006 广东省公安厅交通管理局政务服务网 ePRO易宝电脑系统(广州)有限公司提供技术支持 未经许可不得转载及建立镜像 否则追究法律责任
这是源文档,我想用php的正则表达式最终得到如下结果
$array[0][0]=非现场记录$array[0][1]=2011-02-08 15:21:52.0$array[0][2]=省道高铜线台山市斗山镇路段$array[0][3]=台山市公安局交通警察大队斗山中队$array[0][4]=机动车行驶超过规定时速50%以下的$array[0][5]=台山市台城缠溪松山咀$array[1][0]=非现场记录$array[1][1]=2010-10-25 07:12:57.0..............................................................$array[2][5]=东莞市长安镇大板地工业大道1号
非常感谢大家
回复讨论(解决方案)
随便写了下,测试效果初步出来了。只是还有所欠缺,只当抛砖引玉吧
([\S|/]+:\s)([\S]+)
$str = <<<str查询结果如下: 该交通违法有记录! 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2011-02-08 15:21:52.0 违法地点: 省道高铜线台山市斗山镇路段 采集机关: 台山市公安局交通警察大队斗山中队 所在地市: 违法行为名称: 机动车行驶超过规定时速50%以下的 处理地点: 台山市台城缠溪松山咀 处理地点联系电话: 0750-5520011 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2010-10-25 07:12:57.0 违法地点: 东莞市长安镇莱茵阁路口(固定电子警察) 采集机关: 东莞市公安局交通警察支队长安大队 所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 处理地点: 东莞市长安镇大板地工业大道1号 处理地点联系电话: 0769-81661611 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2010-12-29 20:34:39.0 违法地点: 振安夏边路口(东-西) 采集机关: 东莞市公安局交通警察支队长安大队 所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 处理地点: 东莞市长安镇大板地工业大道1号 处理地点联系电话: 0769-81661611 设为首页 | 加入收藏 | 联系方法 | 网站地图 | 友情链接 | 版权声明 版权所有 2006 广东省公安厅交通管理局政务服务网 ePRO易宝电脑系统(广州)有限公司提供技术支持 未经许可不得转载及建立镜像 否则追究法律责任str;preg_match_all('/ 信息来源 :\s(.+)\s.+ #来源# :\s([\d \-\.:]+\.0).+ #时间# :\s(.+)\s.+ #地点# :\s(.+)\s.+ #采集机关# :.+: \s(.+)\s.+ #违法行为名称# \s(.+)\s.+ #处理地点# \d{4}\-\d{5,} /Usx', $str, $matches);$res = array();for ($i = 0; $i < count($matches[1]); $i++){ for ($j = 1; $j <= 6; $j++){ $res[$i][] = $matches[$j][$i]; }}echo '够无聊,还不如直接截取字符串.';print_r($res);echo '';/** *Array( [0] => Array ( [0] => 非现场记录 [1] => 2011-02-08 15:21:52.0 [2] => 省道高铜线台山市斗山镇路段 [3] => 台山市公安局交通警察大队斗山中队 [4] => 机动车行驶超过规定时速50%以下的 [5] => 台山市台城缠溪松山咀 ) [1] => Array ( [0] => 非现场记录 [1] => 2010-10-25 07:12:57.0 [2] => 东莞市长安镇莱茵阁路口(固定电子警察) [3] => 东莞市公安局交通警察支队长安大队 [4] => 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 [5] => 东莞市长安镇大板地工业大道1号 ) [2] => Array ( [0] => 非现场记录 [1] => 2010-12-29 20:34:39.0 [2] => 振安夏边路口(东-西) [3] => 东莞市公安局交通警察支队长安大队 [4] => 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 [5] => 东莞市长安镇大板地工业大道1号 )) **/
PHP code
$str = <<<str
查询结果如下: 该交通违法有记录! 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2011-02-08 15:21:52.0 违法地点: 省道高铜线台山市斗山镇路段 采集机关: 台山市公安局交通警察大队斗山中队 所在地市: 违法行为名称: 机动车行驶超过规定时速5……
ZT_King是正则达人,受教了,学习了
牛人阿
PHP code
$str = <<<str
查询结果如下: 该交通违法有记录! 信息来源: 非现场记录 文书号/决定书号/文书编号: 未裁决,无 车牌号码: 粤K32889 车主名称: 号牌种类: 违法时间: 2011-02-08 15:21:52.0 违法地点: 省道高铜线台山市斗山镇路段 采集机关: 台山市公安局交通警察大队斗山中队 所在地市: 违法行为名称: 机动车行驶超过规定时速5……
ZT_King 怎么截取啊?Google了1天没找到,正则搞的我头大
$str = <<<str......str;
这个是什么意思
我的源码保存在一个变量$b里 怎么用啊
$str=$b; 这样不可以 应该怎么用
<<<NAME
data
NAME
表示原文档,你可以认为是单双引号,是用来做示例文档的.可以在data间放入自己的内容.
如果$str=$b后还不能用,那就是$b内容的编码问题了,可以试试$str = iconv('gbk','utf8',$b);
转码还是不行 $b是多行的内容.是不是应该改一下正则表达式来匹配多行.应该怎么改啊
非常感谢
<<<NAME
data
NAME
表示原文档,你可以认为是单双引号,是用来做示例文档的.可以在data间放入自己的内容.
如果$str=$b后还不能用,那就是$b内容的编码问题了,可以试试$str = iconv('gbk','utf8',$b);
已经是全部数据匹配了,刚检查了下,循环出错了,测试数据刚好取了6条,所以没发现.下面已改正
数据不正常,你应该多检查下编码.
for ($i = 0; $i < count($matches[0]); $i++){
插入加红没起作用,第一个循环用$matches[0]做限制.
插入加红没起作用,第一个循环用$matches[0]做限制.
问题好像不是出在这里,而是在匹配多行上的问题
$str = <<<str=!信息来源: 非现场记录文书号/决定书号/文书编号: 未裁决,无车牌号码: 粤K32889车主名称: 号牌种类: 违法时间: 2011-02-08 15:21:52.0违法地点: 省道高铜线台山市斗山镇路段采集机关: 台山市公安局交通警察大队斗山中队所在地市: 违法行为名称: 机动车行驶超过规定时速50%以下的处理地点: 台山市台城缠溪松山咀处理地点联系电话: 0750-5520011信息来源: 非现场记录文书号/决定书号/文书编号: 未裁决,无车牌号码: 粤K32889车主名称: 号牌种类: 违法时间: 2010-10-25 07:12:57.0违法地点: 东莞市长安镇莱茵阁路口(固定电子警察)采集机关: 东莞市公安局交通警察支队长安大队所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的处理地点: 东莞市长安镇大板地工业大道1号处理地点联系电话: 0769-81661611信息来源: 非现场记录文书号/决定书号/文书编号: 未裁决,无车牌号码: 粤K32889车主名称: 号牌种类: 违法时间: 2010-12-29 20:34:39.0违法地点: 振安夏边路口(东-西)采集机关: 东莞市公安局交通警察支队长安大队所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的处理地点: 东莞市长安镇大板地工业大道1号处理地点联系电话: 0769-81661611 设为首页 | 加入收藏 | 联系方法 | 网站地图 | 友情链接 | 版权声明版权所有 2006 广东省公安厅交通管理局政务服务网ePRO易宝电脑系统(广州)有限公司提供技术支持未经许可不得转载及建立镜像 否则追究法律责任str;
这样就没法匹配成功了
可以把所有的\n去掉然后匹配。
str_replace();
错,应该是
那多一个工序,直接改匹配算法不行吗
改这个
preg_match_all('/ 信息来源 :\s(.+)\s.+ #来源# :\s([\d \-\.:]+\.0).+ #时间# :\s(.+)\s.+ #地点# :\s(.+)\s.+ #采集机关# :.+: \s(.+)\s.+ #违法行为名称# \s(.+)\s.+ #处理地点# \d{4}\-\d{5,} /Usx', $str, $matches);
错,应该是
$str = <<<str信息来源: 非现场记录文书号/决定书号/文书编号: 未裁决,无车牌号码: 粤K32889车主名称: 号牌种类: 违法时间: 2011-02-08 15:21:52.0违法地点: 省道高铜线台山市斗山镇路段采集机关: 台山市公安局交通警察大队斗山中队所在地市: 违法行为名称: 机动车行驶超过规定时速50%以下的处理地点: 台山市台城缠溪松山咀处理地点联系电话: 0750-5520011信息来源: 非现场记录文书号/决定书号/文书编号: 未裁决,无车牌号码: 粤K32889车主名称: 号牌种类: 违法时间: 2010-10-25 07:12:57.0违法地点: 东莞市长安镇莱茵阁路口(固定电子警察)采集机关: 东莞市公安局交通警察支队长安大队所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的处理地点: 东莞市长安镇大板地工业大道1号处理地点联系电话: 0769-81661611信息来源: 非现场记录文书号/决定书号/文书编号: 未裁决,无车牌号码: 粤K32889车主名称: 号牌种类: 违法时间: 2010-12-29 20:34:39.0违法地点: 振安夏边路口(东-西)采集机关: 东莞市公安局交通警察支队长安大队所在地市: 违法行为名称: 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的处理地点: 东莞市长安镇大板地工业大道1号处理地点联系电话: 0769-81661611 设为首页 | 加入收藏 | 联系方法 | 网站地图 | 友情链接 | 版权声明版权所有 2006 广东省公安厅交通管理局政务服务网ePRO易宝电脑系统(广州)有限公司提供技术支持未经许可不得转载及建立镜像 否则追究法律责任str;preg_match_all('/ 信息来源: \s*([\x{4e00}-\x{9fa5}]+)\s #来源,注意这里面的符号,如果源数据含有其他符号,应进行添加,需转义# .+([\d \-\.:]+\.0).+ #时间# :\s*([\x{4e00}-\x{9fa5}\(\)\-]+)\s.+ #地点# :\s*([\x{4e00}-\x{9fa5}\(\)\-]+)\s.+ #采集机关,同上# \s*([\x{4e00}-\x{9fa5}\,0-9\%]+)\s.+ #违法行为名称# :\s*([\x{4e00}-\x{9fa5}\d]+)\s.+ #处理地点# \d{4}\-\d{5,} /Uusx', $str, $matches);$res = array();for ($i = 0; $i < count($matches[0]); $i++){ for ($j = 1; $j <= 6; $j++){ $res[$i][] = $matches[$j][$i]; }}echo '';print_r($res);echo '';/** * Array( [0] => Array ( [0] => 非现场记录 [1] => 2011-02-08 15:21:52.0 [2] => 省道高铜线台山市斗山镇路段 [3] => 台山市公安局交通警察大队斗山中队 [4] => 机动车行驶超过规定时速50%以下的 [5] => 台山市台城缠溪松山咀 ) [1] => Array ( [0] => 非现场记录 [1] => 2010-10-25 07:12:57.0 [2] => 东莞市长安镇莱茵阁路口(固定电子警察) [3] => 东莞市公安局交通警察支队长安大队 [4] => 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 [5] => 东莞市长安镇大板地工业大道1号 ) [2] => Array ( [0] => 非现场记录 [1] => 2010-12-29 20:34:39.0 [2] => 振安夏边路口(东-西) [3] => 东莞市公安局交通警察支队长安大队 [4] => 机动车通过有灯控路口时,不按所需行进方向驶入导向车道的 [5] => 东莞市长安镇大板地工业大道1号 )) * */
PHP code
……
假设
表单内容是
识别验证码的模块是
$img="a.jpg" //当前目录下的验证码图片名字include ('Valite.php');$valite = new Valite();$valite->setImage($img);$valite->getHec();$ert = $valite->run();//$ert就是识别出来的数字
提交表单我用snoopy
include "Snoopy.class.php"; $snoopy = new Snoopy; $submit_url = "http://www.gdgajj.com/cx/wzss/wzss.do"; $submit_vars["jc"] = "amiga"; $submit_vars["randcode2"] = $ert; $snoopy->submittext($submit_url,$submit_vars);
现在的问题是:我如何获取验证码
用
$snoopy->fetch("http://www.gdgajj.com/cx/servlet/ImageServlet");
还是用什么,已确保获取验证码的时候,他们服务器的session已经记录了.
如何把我发的这几段代码链接起来.
"识别验证码的模块"和"模拟提交表单的模块"怎样结合起来?
$im = imagecreatefromjpeg('http://www.gdgajj.com/cx/servlet/ImageServlet');imagejpeg($im, 'a.jpg');//这样保存图片,然后用那个程序解析出数字,再然后用snoopy提交
请问这样一个字符串$str
$str='[0,"通信与信息工程学院","","","","",3,"","","",-1,2,"通信工程","","","",3,"","pubStuKebiao.php?zyh=0101","frameList",2,
"电子信息工程","","","",3,"","pubStuKebiao.php?zyh=0102","frameList",2,"电子信息科学与技术","","","",3,"","pubStuKebiao.php?
zyh=0103","frameList",2,"信息工程","","","",3,"","pubStuKebiao.php?zyh=0104","frameList",2,"广播电视工程","","","",3,"","pubS
tuKebiao.php?zyh=0105","frameList",2,"通信与信息类","","","",3,"","pubStuKebiao.php?zyh=0114","frameList",2,"通信与信息类实验
班","","","",3,"","pubStuKebiao.php?zyh=0118","frameList",2,"通信学院卓越班","","","",3,"","pubStuKebiao.php?zyh=0190","frameList"
,2,"通信学院IT精英班","","","",3,"","pubStuKebiao.php?zyh=0191","frameList",2,"通信工程国际实验班","","","",3,"","pubStuKebiao.php
?zyh=0192","frameList",2,"电子信息工程(通信技术方向)","","","",3,"","pubStuKebiao.php?zyh=2003","frameList",2,"电子信息工程(通信技
术)","","","",3,"","pubStuKebiao.php?zyh=5101","frameList",2,"电子信息工程(应用电子技术)","","","",3,"","pubStuKebiao.php?zyh=5102","
frameList",2,"电子信息工程类(实验班)","","","",3,"","pubStuKebiao.php?zyh=5109","frameList",1,0,"光电工程学院","","","","",3,"","",""
,-1,2,"光信息科学与技术","","","",3,"","pubStuKebiao.php?zyh=0201","frameList",2,"微电子学","","","",3,"","pubStuKebiao.php?zyh=0202"
,"frameList",2,"电子科学与技术","","","",3,"","pubStuKebiao.php?zyh=0203","frameList",2,"电子工程类","","","",3,"","pubStuKebiao.php
?zyh=0211","frameList",2,"微电子工程实验班","","","",3,"","pubStuKebiao.php?zyh=0219","frameList",1,0,"经济管理学院","","","","",3,
"","","",-1,2,"信息管理与信息系统","","","",3,"","pubStuKebiao.php?zyh=0301","frameList",2,"会计学","","","",3,"","pubStuKebiao.php
?zyh=0302","frameList",2,"经济学","","","",3,"","pubStuKebiao.php?zyh=0303","frameList",2,"市场营销","","","",3,"","pubStuKebiao.ph
p?zyh=0304","frameList",2,"工商管理","","","",3,"","pubStuKebiao.php?zyh=0305","frameList",2,"电子商务","","","",3,"","pubStuKebiao
.php?zyh=0306","frameList",2,"工程管理","","","",3,"","pubStuKebiao.php?zyh=0308","frameList",2,"信息管理类","","","",3,"","pubStuK
ebiao.php?zyh=0311","frameList",2,"工商管理类","","","",3,"","pubStuKebiao.php?zyh=0312","frameList",2,"国际化会计人才培养实验班","
","","",3,"","pubStuKebiao.php?zyh=0318","frameList",2,"工商管理类实验班","","","",3,"","pubStuKebiao.php?zyh=0390","frameList",2,"
经济学实验班","","","",3,"","pubStuKebiao.php?zyh=0391","frameList",2,"市场营销(企业营销与管理方向)","","","",3,"","pubStuKebiao.
php?zyh=2004","frameList",2,"信息管理与信息系统","","","",3,"","pubStuKebiao.php?zyh=2009","frameList",1,0,"计算机科学与技术学院","
","","","",3,"","","",-1,2,"计算机科学与技术","","","",3,"","pubStuKebiao.php?zyh=0401","frameList",2,"地理信息系统","","","",3,"",
"pubStuKebiao.php?zyh=0402","frameList",2,"网络工程","","","",3,"","pubStuKebiao.php?zyh=0403","frameList",2,"信息安全","","","",3,
"","pubStuKebiao.php?zyh=0404","frameList",2,"智能科学与技术","","","",3,"","pubStuKebiao.php?zyh=0405","frameList",2,"计算机与智能
科学类","","","",3,"","pubStuKebiao.php?zyh=0412","frameList",2,"计算机与智能科学类实验班","","","",3,"","pubStuKebiao.php?zyh=0418
","frameList",2,"计算机学院卓越班","","","",3,"","pubStuKebiao.php?zyh=0491","frameList",2,"计算机科学与技术","","","",3,"","pubStu
Kebiao.php?zyh=2001","frameList",2,"计算机科学与技术(计算机应用)","","","",3,"","pubStuKebiao.php?zyh=5301","frameList",2,"计算机科
学与技术(网络技术)","","","",3,"","pubStuKebiao.php?zyh=5302","frameList",2,"计算机科学与技术(信息安全)","","","",3,"","pubStuKebi
ao.php?zyh=5303","frameList",2,"计算机科学与技术类(实验班)","","","",3,"","pubStuKebiao.php?zyh=5309","frameList",1,0,"外国语学院"
,"","","","",3,"","","",-1,2,"英语","","","",3,"","pubStuKebiao.php?zyh=0501","frameList",2,"英语(商贸)","","","",3,"","pubStuKebia
.php?zyh=5401","frameList",1,0,"生物信息学院","","","","",3,"","","",-1,2,"生物医学工程","","","",3,"","pubStuKebiao.php?zyh=0601","
frameList",2,"生物技术","","","",3,"","pubStuKebiao.php?zyh=0602","frameList",2,"中药学","","","",3,"","pubStuKebiao.php?zyh=0603","
frameList",2,"制药工程","","","",3,"","pubStuKebiao.php?zyh=0604","frameList",2,"生物信息学","","","",3,"","pubStuKebiao.php?zyh=060
5","frameList",2,"生物技术与制药类","","","",3,"","pubStuKebiao.php?zyh=0611","frameList",2,"生物技术(生物信息学方向)","","","",3,
"","pubStuKebiao.php?zyh=0615","frameList",2,"生物与制药类实验班","","","",3,"","pubStuKebiao.php?zyh=0690","frameList",1,0,"法学院",
"","","","",3,"","","",-1,2]';
正则怎样写能达到这样的二维数组
内容总结
以上是互联网集市为您收集整理的又一个php正则表达式的问题匹配文本成二维数组分数给力全部内容,希望文章能够帮你解决又一个php正则表达式的问题匹配文本成二维数组分数给力所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。