正则表达式——网页小偷(新浪新闻正文)

  上午和好友一起出去游西湖,散散心,这几天在学校闷的也不好受,刚从家里回来没几天,整天抱着电脑啃PHP,本来可以在家里找个清闲的暑期工,但既然不想成为一蜗居、裸婚、丁克的我还是放弃了北方的清凉,选择了这个燥热的杭州,拥抱这个暑假……

  偶然间,PHP群里有人喊“上午正则表达式是谁问的?”,我对正则表达式还是有点兴趣的,于是明白了有人想截取新浪一篇文章的正文部分(其实可能不止一篇哦,大家懂得),刚从外边回来反正呆着也是呆着,就凑凑热闹吧。

  文章地址:http://finance.sina.com.cn/stock/s/20110719/165910173138.shtml

  先看了下页面的源代码,发现这个正则要跨行匹配,想起前几天遇见的问题,一下写出来一个——(多余的话不说了,看代码吧)

<?php
$addr = "http://finance.sina.com.cn/stock/s/20110719/165910173138.shtml";
$contents = file_get_contents($addr);
$pattern = "/\<h1 id\=\"artibodyTitle\".*?\<!\-\- news_keyword_pub/s";
preg_match($pattern,$contents,$array);
$string = preg_replace("/\<.+?\>/","",$array[0]);
echo $string;
?>

  

  

posted @ 2011-07-21 17:03  小 伍  阅读(1647)  评论(2编辑  收藏  举报