Я создаю класс для открытия веб-страницы и сохранения значений href всех исходящих ссылок на странице. По некоторым причинам это работает для первых 3, затем идет странно. Ниже мой код:
class Crawler {
var $url;
function construct($url) {
$this->url = 'http://'.$url;
$this->crawl();
}
function crawl() {
$str = file_get_contents($this->url);
$start = 0;
for($i=0; $i<10; $i++) {
$beg = strpos($str, '<a href="http://',$start)+16;
$end = strpos($str,'"',$beg);
$diff = $end - $beg;
$links[$i] = substr($str,$beg, $diff);
$start = $start + $beg;
}
print_r($links);
}
}
$crawler = new Crawler;
$crawler->construct('www.yahoo.com');
Игнорируйте цикл for, пока я знаю, что он вернет только первые 10 и не сделает весь документ. Но если вы запустите этот код, первые 3 будут работать нормально, но тогда все остальные значения будут UBLIC.
Кто-нибудь может помочь? Спасибо