2016-02-29 65 views
1

我有以下代码。从URL获取数据时发生。 PHP

<?php 
    error_reporting(0); 
    $url = 'https://www.inmateaid.com/prison-search/all?&page=1'; 
    $output = file_get_contents($url); 
    $doc = new DOMDocument(); 
    $doc->loadHTML($output); 
    $selector = new DOMXPath($doc); 
    $anchors = $selector->query("/html/body//div[@class='media']//div/h4//a"); 
    foreach($anchors as $a) 
    { 
     $output = file_get_contents($a->getAttribute("href")); 
     echo 'hi'; 
    } 
?> 

如果我们看下面的代码产生10个锚

$anchors = $selector>query("/html/body//div[@class='media']//div/h4//a");

所以应如何打印10倍?但它只打印3次。

当我在for循环中注释行时,它会打印10次。

我错过了什么吗?

+0

我刚刚尝试了你的代码,并且按照预期,我得到了10次'hi'。这是您正在使用的实际完整代码吗? – jszobody

+0

是的,我得到了10倍'嗨'与试用代码.. –

+0

我再次检查,令人惊讶的是,这次它打印4次。 – Pankaj

回答

0

这是由于max_execution_time = 30。我增加了时间,问题得到修复。