日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

php正則匹配獲取指定url網(wǎng)頁頁面超級鏈接地址_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:php定時計劃任務(wù)的實現(xiàn)方法
我在uchome 中 分析到, uchome是這樣做的 1. 把所有的計劃任務(wù)存放到數(shù)據(jù)庫 2. 每次用戶進行操作或打開頁面的時候都按排序執(zhí)行一條計劃任務(wù). 也就是輪番判斷,時間到了的, 就在用戶進程中執(zhí)行. uchome的計劃任務(wù)代碼在 ./source/function_cron.php 上面只自己分析uchome

 在數(shù)據(jù)采集與頁面分析中,常需要抓取給定url頁面的內(nèi)容,或者第二、第三層次深度頁面內(nèi)容。

這里是一個測試例子的實現(xiàn),僅供參考。

代碼如下:


/*
匹配給定頁面鏈接
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*(["'])?(?(1)(.*?)\1|([^s>]+))[^>]*>?(.*?)</a>'isx",$document,$links);
 while(list($key,$val) = each($links[2])) {
  if(!empty($val))
   if(preg_match("/http/",$val)){
    $match['link'][] = $val;
   }
   else {
    $match['link'][] = $host . $val;
   }
 }
 while(list($key,$val) = each($links[3])) {
  if(!empty($val))
   if(preg_match("/http/",$val)){
    $match['link'][] = $val;
   }
   else {
    $match['link'][] = $host . $val;
   }
 }
 while(list($key,$val) = each($links[4])) {
  if(!empty($val))
   $match['content'][] = $val;
 }
 while(list($key,$val) = each($links[0])) {
  if(!empty($val))
   $match['all'][] = $val;
 }
 return $match['link'];
}

/*
從給定url中獲取頁面文本內(nèi)容
*/
function get_content_from_url($url) {
 $str = @file_get_contents($url);
 if(mb_check_encoding($str, "GBK"))
  $str = iconv("GBK","UTF-8", $str);
 $str = strip_tags($str); // 過濾html標簽
/* 
 $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{4e00}-x{9fff}]+/u', $str, $matches);
 $str = join(',', $matches[0]);
 if(!$str)
  return NULL;
 
 return $str;
}

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

 while($depth > 1){
  $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); //遞歸調(diào)用
  }
 }

 $content .= get_content_from_url($url);
  
 return $content;
}

分享:PHP使用DES進行加密與解密的方法
代碼如下: //$input - stuff to decrypt //$key - the secret key to use function do_mencrypt($input, $key) { $input = str_replace(n, , $input); $input = str_replace(t, , $input); $input = str_replace(r, , $input); $key = substr(md5($key), 0, 24); $td =

來源:模板無憂//所屬分類:PHP教程/更新時間:2013-06-07
相關(guān)PHP教程