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

看网页的一个正则的例子,出错了。帮看一下那错了呗。最好帮解释一下各个符号的意思,正在学
看网页的一个正则的例子,出错了。帮看一下那错了呗。最好帮解释一下各个符号的意思,正在学

//取出 div 标签,且ID 为 PostContent 的内容,并存到阵列 match 中。

preg_match('/<div[^>]*id="PostContent"[^>]*>(.*?) <//div>/si',$text,$match); 

这个正则是不是 perl 风格的。不是 POSIX风格 的。学的二个有点乱。
好想弄明白这个。

出错信息:
Warning: preg_match() [function.preg-match]: Unknown modifier '/' in D:\xampp\htdocs\testweb02\t1.php on line 6

------解决方案--------------------
preg_match('/<div[^>]*id="PostContent"[^>]*>(.*?) <//div>/si',$text,$match);
改成
preg_match('/<div[^>]*id="PostContent"[^>]*>(.*?) <\/div>/si',$text,$match);
或者
preg_match('/<div[^>]*id="PostContent"[^>]*>(.*?) <\/\/div>/si',$text,$match);
------解决方案--------------------
我也是刚刚学的正则表达式,高深的也不懂,说一个方法,不知道是不是你想要的。
要是想取到那个里面的内容,可以用eregi("<ul class=\"list_009\">(.*)</ul>",$content,$eg);
其中的$content=file_get_contents($url);$url是你要截取的内容网站的url,而$eg储存了你要保存的内容。
然后echo $eg[1];就可以取出里面的内容了,至于$eg是一个数组,里面具体都是什么,我也不是很清楚,你可以看一下eregi函数的相关知识。