2011-08-06 37 views
0

一個相當簡單的場景;我有一組用戶輸入的網址(可以是從1到1000+以上的任意數字),我想對它們執行file_get_contents();,然後如果可能,將所有綁定/綁定到一個變量中,以便可以在該變量上執行preg_match_all();以獲取特定的字符串。將file_get_contents與數組一起使用?

我聽說使用cURL可能是另一種選擇,但是我對cURL的功能知之甚少。

回答

3

其實這聽起來像一個工作,遍歷網址:

$urls = array('http://www.example.com/'); 
$allTexts = ''; 
foreach($urls as $url) 
{ 
    $text = file_get_contents($url); 
    if (false === $text) 
     continue; 

    // proceed with your text, e.g. concatinating it: 
    $allTexts .= $text; 
} 

不過,如果你有一千網址,把你的時間。 curl提議一次請求多個URL(multi request feature),但是,數千個網址無法縮放。

+0

謝謝,正是我在找什麼。任何想法我怎麼會連接$文本?我真的不明白'foreach'返回的是什麼? – Fireworksable

+1

@Fireworksable:'foreach'實際上並不像函數那樣返回。相反,您在代碼塊內部完成的所有操作都已完成,例如如果你設置了一個變量,在塊之後它將被設置。我用一個名爲'$ allTexts'的文本的緩衝區更新了答案。 – hakre

1

使用array_map應用功能,數組的每個元素

implode('',array_map('file_get_contents',$array)); 
+0

這是一個非常簡單的夢幻般的答案。就我個人而言,我甚至從來沒有想過這樣做!每天學些新東西。上投票 – Chris

相關問題