2011-04-14 75 views
-2

我想一個腳本的結果添加到一個數組,但一旦我看着它,只有一個在它的項目,可能是我不懂事,與放置一個結果陣列

function crawl_page($url, $depth) 
{ 
    static $seen = array(); 
    $Linklist = array(); 

    if (isset($seen[$url]) || $depth === 0) { 
     return; 
    } 
    $seen[$url] = true; 

    $dom = new DOMDocument('1.0'); 
    @$dom->loadHTMLFile($url); 

    $anchors = $dom->getElementsByTagName('a'); 
    foreach ($anchors as $element) { 
     $href = $element->getAttribute('href'); 
     if (0 !== strpos($href, 'http')) { 
      $href = rtrim($url, '/') . '/' . ltrim($href, '/'); 
     } 
     if(shouldScrape($href)==true) 
     { 
      crawl_page($href, $depth - 1); 
     } 

    } 
    echo "URL:",$url; 
    echo http_response($url); 
    echo "<br/>"; 
    $Linklist[] = $url; 

    $XML = new DOMDocument('1.0'); 
    $XML->formatOutput = true; 

    $root = $XML->createElement('Links'); 
    $root = $XML->appendChild($root); 

    foreach ($Linklist as $value) 
    {  
     $child = $XML->createElement('Linkdetails'); 
     $child = $root->appendChild($child); 

     $text = $XML->createTextNode($value); 
     $text = $child->appendChild($text); 
    }   
    $XML->save("linkList.xml");  
} 
+2

你是哪裏的東西添加到一個數組?請更詳細地解釋出了什麼問題。預期結果與實際結果有什麼不同? – 2011-04-14 11:14:09

回答

0

$Linklist[] = $url;會將一個項目添加到$Linklist陣列。這條線需要處於我認爲的循環中。

0

static $Linklist = array();我想,但代碼是可怕的