查找页面中所有链接的PHP代码

前端之家收集整理的这篇文章主要介绍了查找页面中所有链接的PHP代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。


function get_links($link) {
    $html = file_get_contents($link);
    $html = str_replace("\n","",$html);
    $html = preg_replace('/<a/i',"\n<a",$html);
    $html = preg_replace('/<\/a>/',"</a>\n",$html);
    preg_match_all('/<a\s*.*>.*?<\/a>/',$html,$matches);
    return($matches);
}

在这个例子中,我们想用file_get_contents来取得一个网页的内容。然后用str_replace("\n",$html)把所有的换行去掉。再用preg_replace('/<a/i',$html)和preg_replace('/<\/a>/',$html)来把所有的<a href=".....">.....</a>模式另起一行。最后就用preg_match_all('/<a\s*.*>.*?<\/a>/',$matches)匹配链接模式。/<a\s*.*>.*?<\/a>/就是匹配<a href=".....">.....</a>这种模式的正则表达式。那我们为什么要把<a href=".....">.....</a>链接另起一行呢??因为在/<a\s*.*>.*?<\/a>/模式中,.*是不能匹配换行的,所以就如<a>和</a>不在同一行就不能匹配了!!所以我们要这样做!

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

原文链接:https://www.f2er.com/php/462745.html

猜你在找的PHP相关文章