将file_get_contents用于具有相同内容的多个站点

时间:2016-06-13 18:24:47

标签: php

我想从一些网站上获取代码(所有网站都有相同的内容,但其中一些网站有停机时间)。

所以我想创建一个检查第一个站点的代码,如果找到代码则显示它,如果不检查第二个站点等。 我的代码是:

$website1 = file_get_contents("http://exemplesite1.com");
preg_match("' src=\"(.*?)\" type='si", $website1, $body);
$decoded_url = $body[1]; 

if ( $decoded_url == "" ) { 
$website2 = file_get_contents("http://exemplesite2.com");
preg_match("' src=\"(.*?)\" type='si", $website2, $body);
$decoded_url2 = $body[1]; 
} elseif ...

这里我被封锁了,我有6个网站,我想这样做,直到它找到我需要的代码。

1 个答案:

答案 0 :(得分:1)

将网站放入数组中,然后循环播放。假设您只需要第一个,您可以在找到匹配后退出循环。像这样:

$websites = ['http://exemplesite1.com', 'http://exemplesite2.com', ...];

foreach($websites as $website) {
    preg_match("' src=\"(.*?)\" type='si", $website, $body);
    $decoded_url = $body[1]; 

    if (! empty($decoded_url)) //found proper match
    break;
}