日期:2014-05-17  浏览次数:20447 次

求一下正则怎么写
http://www.nhdali.com/zsxx/news02.php 想要匹配这里的 ‘招商和经济动态栏目’ 写了半天也写不出来, 差不多是‘ <div class="top">’ 和 ‘<div class="bot">’ 之间的内容.

------解决方案--------------------
这里面还有分页啊

------解决方案--------------------
还没人回你?看来剩下我比较闲


/(?:<div class=\"top\">)([\s\S]+)(?:<div class=\"bot\">)/iU
------解决方案--------------------
$con=file_get_contents("http://www.nhdali.com/zsxx/news02.php?page=".$_GET[id]);
$preg="#<div class=\"top\">(.*)<div class=\"bot\">#iUs";
preg_match_all($preg,$con,$arr);

------解决方案--------------------
PHP code


$str = file_get_contents("http://www.nhdali.com/zsxx/news02.php");
$match = "/<strong><a\s+href\s*=[\'\"](.*?)[\'\"][^>]*?>(.*?)<.*?em>(.*?)<\/em>.*?<small>([^<]*?)</is";
preg_match_all($match , $str , $arr);
var_dump($arr);

------解决方案--------------------
估计写完这个内容匹配,还要写每个具体的信息的标题、内容、url解析吧!

这个用dom+xpath比你分析一遍然后再分析一遍要好的多!

另外推荐下4楼得正则,把你要的所有内容都找到了!
------解决方案--------------------
探讨

想问一下 三楼 和四楼, 正则最后的iUs 是什么意思, i 是不区分大小写,其他的我不知道了!

------解决方案--------------------
探讨

引用:

想问一下 三楼 和四楼, 正则最后的iUs 是什么意思, i 是不区分大小写,其他的我不知道了!


u是按照unicode编码, s是.可以代表任意空白字符

------解决方案--------------------
$str_pre='/<div>\s*<span>\s*<strong><a(.*?)>(.*?)<\/a>(.*?)\s*<em>(.*?)<\/em>\s*<\/span>\s*<small>(([\w\W]*?)|(.*?))<\/small>/';
用这个可以匹配到!