作者AMOUAMOU (AMOU)
看板PHP
标题[请益] preg_match_all的问题
时间Thu Dec 27 23:04:26 2007
大家好
小弟最近在研究有关reguler expression的用法
而我尝试抓yahoo的搜寻页面的连结
例如:
http://tw.search.yahoo.com/search/news?fr=yfp&ei=UTF-8&p=%E5%A4%A7%E5%A
E%B6%E5%A5%BD&fr2=tab-web
而我想抓搜寻页面里面的各个连结和分页连结
我发现到连结都是由
<a href="
http://tw.wrs.yahoo.com/_ylt=A8tUxyqKvHNHHy4AQQNw1gt./SIG=
12f1n7o30/EXP=1198853642/**http%3A//
tw.news.yahoo.com/article/url/d/a/071128/1/ozs4.html" target=_blank>
类似这样所组成
於是我就写了个
preg_match_all("|.*<a href=(.*) target=_blank.*|Ui", $contents, $output);
这样的判断式来抓搜寻页面的连结
但结果只抓到
"
http://tw.news.yahoo.com/articleurl/d/a/071128/1/ozs4.html"
这部分
虽然此连结正好是我所需要的
但是我很好奇为什麽我写的判断式明明是抓从<a href=开始 到 (空白)targer_blank的
字串,为何结果并不是如此?
且当我在抓分页连结的时候,尝试了很多种判断方法,都无法顺利抓到,好像在判断
_底线的时候出了问题,我就算使用了[_]也没办法解决,我在这方面是新手,希望各位
大大可以指导我,非常感谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.96.48