如何从目录中的每个HTML文档获取链接并显示它?

时间:2016-08-27 23:28:59

标签: php html parsing dom

到目前为止我所拥有的:

<?php
   $html = file_get_contents('content/');
   $dom = new DOMDocument;
   $dom->loadHTML($html);
   foreach ($dom->getElementsByTagName('a') as $node)
      {
        echo $node->nodeValue.': '.$node->getAttribute("href")."\n";
      }
 ?>

我有一个名为&#39; content&#39;的目录。其中有几个HTML文档。编辑:每个文档中都有一个链接,包裹在图像中。我想解析每个文档并将每个页面的链接显示为图像。我需要循环来逐步浏览每个文档吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

foreach (glob("content/*.html") as $filename) {
    $html = file_get_contents($filename);
    $dom = new DOMDocument;
    $dom->loadHTML($html);
    foreach ($dom->getElementsByTagName('a') as $node) {
          echo $node->nodeValue.': '.$node->getAttribute("href")."\n";
    }
}

答案 1 :(得分:0)

Andrej Ludinovskov的回答有助于指导我找到答案,但是经过了大量的试验和错误,所以在这里。如何将所有链接作为图像获取。

foreach ($dom->getElementsByTagName('a') as $link) {
     echo "<a href=" .$link->getAttribute("href"). ">";

    foreach ($dom->getElementsByTagName('img') as $img) {
    echo "<img src=".$img->getAttribute('src').">";
      }
}
希望这可以帮助别人。