下面是编程之家 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