用PHP正则表达式解析网页内容
kangkangma |
26 十一月, 2007 22:41
在前面的文章中,笔者上传了正则表达式Cheat Sheet,不过光看这些手册是不能明白正则表达式的精妙的,来个实例更有助于理解。
抓取网站内容应该是程序员经常会碰到的问题,获取网页的内容很简单,只要一个file_get_contents就搞定了。你也可以选择一个叫snoopy的class,虽然只是一个class,但是功能很强大,可以模拟用户登录,表单提交等。
假设要获取网页中所有的链接和链接中的文字,可以用以下的正则表达式代码来获得:
正则表达式 example
$content=file_get_contents($url); preg_match_all('/<a href="(.*)" >(.*)<\/a>/U', $content,$arr_pat); print_r($arr_pat);kangkangma © 2007
$arr_pat[1][0]是网页中第一个链接的地址, $arr_pat[2][0]是网页中第一个链接的文字。
正则表达式就是这样的简单,强大,它能让你头疼,疑惑,也能让你更有效率,更加的cool。
评论
有缘人
康康马 | 27/11/2007, 19:53
亲爱的asha,很高兴我的blog能给加班中的你带来些许安慰,帮助别人也是我这个blog存在的意义之一。让我惊讶的是我的技术文章能起到这个作用,也许正像我的第一篇博文说的,你是有缘人。
不管工作还是生活,大家都是在苦中作乐,所以请尽情的攻击我的职业,工作,以及其它任何一切,只要能缓解你的痛苦。
佛说:我不如地狱谁入地狱


评论 (2) |
引用 (0)



你知道吗
OT到爆炸的asha | 27/11/2007, 01:06
你知道吗,
康康马儿,
每当我加班到快要爆炸的时候,总会上来看看你的blog,原因就素我期待看到像你这篇一样貌似粉专业的#%$##*&^_&%$@#@^&~^&,看后的感觉就素----突然间觉得自己的这份工作选择的多么明智,多么的有趣,多么的平易近人,至少可以碎碎念出来给自己听!!!而你的这些符号让我不禁想起被武状元苏察哈尔太骂的爆毙的鱼鱼虾虾。。。。
原谅我以攻击你的心血为乐,原谅我快要崩溃的情绪,毕竟一个人连续第七天加班到凌晨,思维总会扭曲些
你的工作是创造性的
我的工作是虐待性的