知识大全 php正则匹配获取指定url网页页面超级链接地址

Posted 内容

篇首语:怀抱观古今,寝食展戏谑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 php正则匹配获取指定url网页页面超级链接地址相关的知识,希望对你有一定的参考价值。

  在数据采集与页面分析中 常需要抓取给定url页面的内容 或者第二 第三层次深度页面内容

  这里是一个测试例子的实现 仅供参考

  代码如下

   /* 匹配给定页面链接 return:array match[link content all] */ function match_links($host $document)  $pattern = /<a( *?)href="( *?)"( *?)>( *?)</a>/i ;   preg_match_all($pattern $document $m);   return $m;

  preg_match_all(" <s*as *?hrefs*=s*([" ])?(?( )( *?) |([^s>]+))[^>]*>?( *?)</a> isx" $document $links);  while(list($key $val) = each($links[ ]))   if(!empty($val))    if(preg_match("//" $val))     $match[ link ][] = $val;        else     $match[ link ][] = $host $val;        while(list($key $val) = each($links[ ]))   if(!empty($val))    if(preg_match("//" $val))     $match[ link ][] = $val;        else     $match[ link ][] = $host $val;        while(list($key $val) = each($links[ ]))   if(!empty($val))    $match[ content ][] = $val;    while(list($key $val) = each($links[ ]))   if(!empty($val))    $match[ all ][] = $val;    return $match[ link ];

  /* 从给定url中获取页面文本内容 */ function get_content_from_url($url)  $str = @file_get_contents($url);  if(mb_check_encoding($str "GBK"))   $str = iconv("GBK" "UTF " $str);  $str = strip_tags($str); // 过滤标签 /*   $str = preg_replace( "@<script( *?)</script>@is" "" $str );  $str = preg_replace( "@<iframe( *?)</iframe>@is" "" $str );  $str = preg_replace( "@<style( *?)</style>@is" "" $str );  $str = preg_replace( "@<( *?)>@is" "" $str ); */  //过滤非汉字字符  preg_match_all( /[x e x fff]+/u $str $matches);  $str = join( $matches[ ]);  if(!$str)   return NULL;    return $str;

  function get_content($url $depth)  if(!$url || $depth < )   return false;

  while($depth > )   $str = @file_get_contents($url);   if(!$str)    return false;

  $parseurl = parse_url($url);    if($parseurl[ host ])    $host = $parseurl[scheme] "://" $parseurl[ host ];      $arrlink = match_links($host $str);   $arr_url = array_unique($arrlink);

  $depth ;   foreach($arr_url as $url)    $content = get_content($url $depth); //递归调用     

cha138/Article/program/PHP/201311/21224

相关参考

知识大全 asp 获取字符串中url地址函数

  asp教程获取字符串中url地址函数本文章提供了三款利用asp的正则获取字符串中url地址自定义函数哦三个方法的实现原理都是获取以开的url地址哦onerrorgotoz  dimurlkeyna

知识大全 解析php通过cookies获取远程网页的指定代码

cha138/Article/program/PHP/201311/21255

知识大全 javascript[js]获取url参数的代码

  最近做个页面需要用javascript获取url参数可发现网上的东西实在是多了错误也实在是多啊真晕浪费了我不少时间于是我便总结一下一个好用的就可以了先声明下用正则是简单但多浏览器的兼容性和速度不敢

知识大全 php利用正则表达式取出图片的URL

php利用正则表达式取出图片的URL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  复制代码代码

知识大全 PHP正则匹配中文字母数字正则表达式

PHP正则匹配中文字母数字正则表达式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  方法一  代

知识大全 在ASP.NET中自动给URL加上超级链接

在ASP.NET中自动给URL加上超级链接  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为一

知识大全 php小经验:解析preg

  正则表达式在PHP中的应用在PHP应用中正则表达式主要用于•正则匹配根据正则表达式匹配相应的内容•正则替换根据正则表达式匹配内容并替换•正则分割根据正则表达式分割字符串在PHP中有两类正则表达式函

知识大全 ASP获取地址栏URL地址方法

ASP获取地址栏URL地址方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果要想获取这样的

知识大全 在ASP.NET中自动给URL地址加上超链接

在ASP.NET中自动给URL地址加上超链接  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为

知识大全 如何批量替换相对地址为绝对地址

  如果你的url链接是相对路径“static/mapicss”你想把他批量替换成绝对路径“那么你可以这样做写一个PHP文件把需要替换的网址写进去这个代码的意思就是把#BASE_URL#替换成这句话的