php获取页面所有链接

该文章由 leevare 发布于 ,归类于 PHP

以下两种方式都会获取a标签的href属性,但是href里面内容不一定是链接,所以还要做后续处理。

方式1

dom对象方式

$html = file_get_contents('http://www.example.com');

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate('/html/body//a');

for ($i = 0; $i < $hrefs->length; $i++) {
   $href = $hrefs->item($i);
   $url = $href->getAttribute('href');
   echo $url.'<br />';
}

方式2

正则表达式匹配

$html = file_get_contents('http://www.example.com');

$link_pattern = "/<a.*?href=['"](.*?)['"].*?<\/a>/i";
preg_match_all($link_pattern, $content, $matches);

for ($i = 0; $i < count($matches[1]); $i++) {
    echo $matches[1][$i] . "<br />";
}

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒