2013-08-16 127 views
0

我有一個帶有5000行的URL的txt文件。我試圖做的是打開每個網址來提取每個網址(即第一個網址)。 我的問題是,腳本的第一行打開URL並告訴我有多少鏈接沒有問題。但對於URL的文件中其餘的心不是顯示什麼...數組顯示是這樣的:閱讀URL和解析信息

Array 
(
) 
Array 
(
) 

我的代碼:

$homepage = file_get_contents('***mytxt file****'); 

$pathComponents = explode(",", trim($homepage)); //line breaker 

//echo "<pre>";print_r($pathComponents);echo "</pre>"; 

$count_nlines = count($pathComponents); 

for ($i=0;$i<3;$i++) { 

$request_url = $pathComponents[$i]; 
//echo $request_url . "<br>"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $request_url); // The url to get links from 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // We want to get the respone 
$result = curl_exec($ch); 

$regex='|<a.*?href="(.*?)"|'; 
preg_match_all($regex,$result,$parts); 
$links=$parts[1]; 

echo "<pre>";print_r($links);echo "</pre>"; 

curl_close($ch); 
} 

任何想法?

+0

你有你的數組文件的例子嗎? –

+0

你的意思是我收到的第一個數組? – subversive

+0

沒有你的.txt文件中的數組。 –

回答

0

看起來你正在循環錯誤的東西。嘗試修改此:

for ($i=0;$i<3;$i++) { 

要這樣:

for ($i = 0; $i <= count($pathComponents); $i++) 
+0

這是一樣的:S – subversive

+0

@subversive對不起,我無法測試你的代碼,因爲我沒有在這臺計算機上的PHP(我的工作計算機)。我在工作中使用C#(PHP在我的家用計算機上)。希望Fred能給你一些代碼。如果沒有,這是另一個選項來完成你正在嘗試做的事情http://stackoverflow.com/questions/7031058/using-curl-to-get-all-links-in-a-website-not-only-the -page和http://www.jaygilford.com/php/common-questions/how-to-get-all-links-from-a-web-page/和http://www.qualitycodes.com/tip/ 27 /使用捲曲到獲得-所有鏈接-IN-A-webpage.html – user1477388