提取所有<a> from table with DOMdocument</a>

时间:2014-02-27 00:52:01

标签: php domdocument

我想从这个html标记中提取多个<a>标记:

<table align="center" width="100%" cellpadding="0" cellspacing="0"><tr>
<td align="left" width="60%" valign="top">
<font size="5" color="#939390">title</font><br><font size="5" color="#939390">LINKS</font>
<a style="color:#000000;" title="title Link 1" href="/page/242808/1/44643.html">  <b style="background:#ff6633">Link 1</b></a>
<a style="color:#000000;" title="title Link 2" href="/page/242808/2/erewe.html">  <b style="background:#ff6633">Link 2</b></a> 
</td>
</tr>
</table>

这是我的代码:

      $doc = new DOMDocument(); // create DOMDocument
          libxml_use_internal_errors(true);
          $doc->validateOnParse = true;
          $doc->preserveWhiteSpace = false;
          $doc->loadHTML($html); // load HTML you can add $html           

          $selector = new DOMXPath($doc);
          $a = $selector->query('//table[1]//a')->item(0);
          echo $doc->saveHTML($a);

这会获得第一个<a>,但我想要的是获取文档中的所有<a>标记。

1 个答案:

答案 0 :(得分:0)

要获得多个,您需要循环显示结果而不是仅打印第一个结果:

$a = $selector->query('//table[1]//a');

foreach($a as $current) {
    echo $doc->saveHTML($current);
}