php 正则表达式规则一疑问
本帖最后由 iranwang 于 2011-8-8 09:00 编辑才写一个网页采集程序的时候发现一个问题
代码如下
<?php
header ( 'Content-Type:text/html;charset=utf-8' );
$html = file_get_contents ( "http://roll.games.sina.com.cn/news_list/default/djyx-xw/index.shtml" );
$html = iconv ( "gbk", "utf-8", $html );
//$html = preg_replace ( "/([\n]+)/", ' ', $html );
preg_match_all ( "/<ul class=\"list_009\">(.*)<\/ul>/Ui", $html, $links );
print_r ( $links );
?>
这样子代码是无法匹配到内容了但是在将上面一行的注释去掉 (也就是吧换行符去除) 就可以匹配掉
这个是为什么呢???
疑问??????????????????????????
就说明你的.匹配不了换行呗 本帖最后由 iranwang 于 2011-8-8 10:09 编辑
jeongee 发表于 2011-8-8 09:06 static/image/common/back.gif
就说明你的.匹配不了换行呗
可是“.”是匹配任何字符的呀
如果“.”不能匹配换行那么在不去除换行符的同时怎么写这个匹配规则呀
preg_match_all ( "/<ul class=\"list_009\">([\n.]*)<\/ul>/Ui", $html, $links );这样也不对呀
求解求解。。。。。。。。。。。。。。。。
页:
[1]