使用PHP将所有链接URL存储在数组中

时间:2011-03-10 02:36:42

标签: php arrays url search

我正在尝试解析html文档并使用php将URL存储在数组中。例如,如果文档的源代码是:

Blah blah blah <a href="http://google.com">link</a> blab
<a href="http://yahoo.com">more links</a> ababasadsf

如何找到并获取链接的href属性并将每个属性存储为数组元素?

1 个答案:

答案 0 :(得分:3)

使用phpQuery,您可以遍历DOM并找到定义了<a>属性的锚点(href):

$dom = phpQuery::newDocument($htmlSource);
$anchors = $dom->find('a[href]');

$urls = array();

if($anchors) {
  foreach($anchors as $anchor) {
    $anchor = pq($anchor);
    $urls[] = $anchor->attr('href');
  }
}