一个结果数组

时间:2011-04-14 11:07:03

标签: php

我正在尝试将脚本的结果添加到数组中,但是一旦我查看它,其中只有一个项目,可能是我的位置很傻

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 个答案:

答案 0 :(得分:0)

$Linklist[] = $url;会将单个项目添加到$Linklist数组中。我认为这条线需要处于循环中。

答案 1 :(得分:0)

static $Linklist = array();我认为,但代码很糟糕