使用DOM Document对象匹配所有的<a>标签

作者:enenba | 发表于:2012-02-21 16:41 | 分类:php源码

以下是一个小函数,它可以获取html中的所有的链接,希望对大家有用。内容是转自PHP的官网,想看详细内容去php.net。查询DOMDocument

<?php 
/** 
 * @author Jay Gilford 
 * get_links() 
 * 
 * @param string $url 
 * @return array 
 */ 
function get_links($url) { 
  
	// 创建一个DOM Document对象
    $xml = new DOMDocument(); 
  
	// 读取Url的内容入DOM
    $xml->loadHTMLFile($url);

    // 链接数组
    $links = array(); 

	// 循环读取页面所有的<a>标签并加入链接数组
    foreach($xml->getElementsByTagName('a') as $link) { 
        $links[] = array('url' => $link->getAttribute('href'), 'text' => $link->nodeValue); 
    } 
  
    // 返回链接数组
    return $links; 
} 

error_reporting(0);
//读取腾讯首页链接
$array = get_links('http://www.qq.com');
printf("<p>输出数据为:</p><pre>%s</pre>\n",var_export( $array ,TRUE));
//发现测试有结果不怎么理想
?> 

 

 

end 

上一篇: 根据URL链接和抛文本生成链接<a>标签的PHP函数   |   下一篇:php截取字符串中的链接参数» 标签: php函数 php采集 数据采集 php函数库

评论: