简单的HTML Dom Parser - 在抓取它们之后无法将所有href链接放入同一个数组中

时间:2013-10-03 21:59:39

标签: php simple-html-dom

我正在尝试用一个带有2或3个href链接的网站来下载pdf。 这是网页的格式

<p class="file">
                        <a class="ext-pdf" rel="file" href="http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2573&amp;dl=1">Deadbolts Catalogue Section</a>
                        <span class="bdi">(.pdf, 660 kB)</span>
                    </p>



                    <p class="file">
                        <a class="ext-pdf" rel="file" href="http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2625&amp;dl=1">Lockwood Home Security Solutions</a>
                        <span class="bdi">(.pdf, 3.7 MB)</span>
                    </p>



                    <p class="file">
                        <a class="ext-pdf" rel="file" href="http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=3045&amp;dl=1">Lockwood Elements Brochure</a>
                        <span class="bdi">(.pdf, 1.2 MB)</span>
                    </p>

到目前为止,我可以从DOM获取链接,但我无法将它们放入同一个数组中。 这是我的代码:

foreach ($html->find('a.[class="ext-pdf"]') as $pdfurl) {
   $testarray=array($pdfurl->href);   


    print_r($testarray);

}

这是输出     数组([0] =&gt; http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2594&dl=1  ) 数组([0] =&gt; http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2625&dl=1

我做错了什么? 谢谢! :)

以下是任何想知道的解决方案:

foreach ($html->find('a.[class="ext-pdf"]') as $pdfurl) 
$testarray[] = $pdfurl->href."<br>";
{



    print_r($testarray);

}

1 个答案:

答案 0 :(得分:0)

$testarray[] = $pdfurl->href;

是你应该拥有的。您只是每次都将一个包含url的数组分配给SAME变量,因此每次循环迭代都会破坏您上次设置的变量。