[請益] 擷取網頁內容與preg_match_all
我要寫的功能大致上是,先抓取GOOGLE搜尋結果的頁面,
然後將搜尋結果中第一頁中的結果的連結抓出來。
--
原始碼我原本是這樣寫:
$url ="http://www.google.com.tw/search?hl=zh-TW&q=地震&meta=&aq=f&oq=";
$fp = file_get_contents($url);
preg_match_all("/<h3 class=\"r\"><a href=\"(.+?)\" class=l>/", $fp,
$data,PREG_SET_ORDER);
echo "網址:$data[0][1]"."\n";
echo "網址:$data[1][1]"."\n";
.
.
.
--
但是以上的輸出結果只會顯示:
網址:Array[1]
網址:Array[1]
--
但如果我將原始碼改為:
$url ="http://www.google.com.tw/search?hl=zh-TW&q=地震&meta=&aq=f&oq=";
$fp = file_get_contents($url);
preg_match("/<h3 class=\"r\"><a href=\"(.+?)\" class=l>/", $fp, $data);
echo "$data[1]"."\n";
--
則可以正確輸出一項結果:
網址:http://www.cwb.gov.tw/V6/seismic/quake_index.htm
--
上下兩個程式碼差別在preg_match_all改為preg_match。
應該算是可以測試出我preg_match中第一個判別用參數是正確的,
但是我用preg_match_all下去跑卻只會顯示 網址:Array[1]
實在是令我不解 囧>
這邊想請問是不是我preg_match_all的用法不對或是甚麼其他問題,
導致第一段程式法無法運正常運作?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.120.142
推
09/15 00:48, , 1F
09/15 00:48, 1F
→
09/15 00:49, , 2F
09/15 00:49, 2F
→
09/15 00:59, , 3F
09/15 00:59, 3F
→
09/15 03:09, , 4F
09/15 03:09, 4F
→
09/15 03:09, , 5F
09/15 03:09, 5F
→
09/15 03:10, , 6F
09/15 03:10, 6F
→
09/15 03:10, , 7F
09/15 03:10, 7F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):