关于正则表达式多页连接获取的问题
时间:2010-06-22
来源:互联网
$con = file_get_contents("http://www.php100.com/html/shipinjiaocheng/list_18_1.html");
$con .= file_get_contents("http://www.php100.com/html/shipinjiaocheng/list_18_2.html");
$preg = "#<strong>(.*)</strong></a></td>#iUs";
preg_match_all($preg, $con, $arr);
foreach($arr[0] as $id=>$v){
echo $arr[0][$id]."<br>";
}
?>
如果不执行红色代码,可以顺利匹配出各个标题,但如果把第二页的代码加入得出的结果就不对了!请高手赐教!
作者: 7109137 发布时间: 2010-06-22
复制代码
|
我建议你读取一页匹配一次,虽然一次性读取再匹配效率可能会高一些,但是受网络等环境因素的影响,很可能出现读取超时的现象。
作者: riyan 发布时间: 2010-06-22
另外我对riyan兄的代码做一个解释,好让初学的朋友也能理解,达到共同进步的目的
<span class="pageinfo">共 <strong>8</strong>页<strong>112</strong>条</span>
'/<span\s+class=[\'"]?pageinfo[\'"]?>.*<strong>(\d+)<\/strong>.*<\/span>/isU'
上面是我们要匹配的正则字符串:1. \s 取消中间的空格 2。[\'"] 对双引号,和单引号进行一个反义,就是让引号失去本身的作用,只做字符串处理。这里只需要用\”, 考虑到多页处理,担心其他页面用'所以,保险起见添加了‘。 3。?也是处理0-1个字符(本例可取消) 4..*一些中文字符 5。(\d+)页面数。6 .*是条目数。 \isU 整体取消空格,贪婪匹配和回车换行。
作者: 7109137 发布时间: 2010-06-22

作者: 落枫残雪 发布时间: 2010-06-26

作者: zixing1020 发布时间: 2010-06-27


作者: 鼠标山城 发布时间: 2010-07-23
作者: luwq 发布时间: 2010-07-23
作者: leif 发布时间: 2010-07-27
作者: 7109137 发布时间: 2010-08-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28