文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php168 的采集规则的改动

php168 的采集规则的改动

时间:2010-09-05  来源:中级程序员

      最近想搞个cms网站,也是在几个网站做了比较.比较比较去,还是选择了php168,因为这个代码有注释,能看清楚里面写的东西.

大家都知道,做cms最关键是内容,所以采集是比较重要的.但php168的采集规则,经过它的处理,不是很好.很多内容根本采集不了.于是就把它规则换了算了.让他做成php默认规则,经过几个小时的测试调试终于通关了.现在我说一下大体步骤.

1。标题采集规则(找到代码 admin/gather.php)

  

  $rsdb[title_rule]=clean_blank($rsdb[title_rule]);
  $code=clean_blank($code);

  //获取正则里的规则数组
//  preg_match_all("/\{(.*?)\}/is",$rsdb[title_rule],$array);
//  
//  //获取变量
//  foreach( $array[1] AS $key=>$value){
//   if( !ereg("^NO",$value)&&!ereg("^\*",$value) ){
//    $detail=explode("=",$value);
//    $ruledb[++$key]=$detail[0];
//   }
//  }
  //echo $rsdb[title_rule]."<br>";
  
 // 获取处理后能使用的规则
 //$rule = get_rule($rsdb[title_rule]);
// exit($rule);
  //jake
   $rule= $rsdb[title_rule];

把前面的注释了,然后改为直接读取规则,就可以了.上面的代码大概在500行左右.

接着对采集后的数据进行处理

 


  //获取有用的数组
//  foreach( $ruledb AS $key=>$value){
//   foreach( $array2[$key] AS $key2=>$value2){
//    $listdb[$value][]=$value2;
//   }
//  }
//  


//jake
  $url_list=array();
  $title_list=array();
       for($i=0;$i<$title_num;$i++)
  {
   //$listdb[$array2[1][$i]]=$array2[2][$i];
   $url_list[]=$array2[1][$i];
   $title_list[]=$array2[2][$i];
  }
  $listdb[url]=$url_list;
  $listdb[title]=$title_list;

红色部分为新加的内容,注释的为以前代码,就这几步便可以把php168标题的采集规则 改变了

 

2。内容采集规则改变.同样是改 admin/gather.php 文件(在850行).

  //把空白都去除,方便处理
  // $rsdb[content_rule]=clean_blank($rsdb[content_rule]);
  // $show_content=clean_blank($show_content);
//
//   //获取正则里的规则数组
//   preg_match_all("/\{(.*?)\}/is",$rsdb[content_rule],$array);
//  
//   //获取变量
//   foreach( $array[1] AS $key=>$value){
//    if( !ereg("^NO",$value)&&!ereg("^\*",$value) ){
//     $detail=explode("=",$value);
//     $ruledb[++$key]=$detail[0];
//    }
//   }
//  
//   //获取处理后能使用的规则
//   $rule = get_rule($rsdb[content_rule]);
   
   //jake
   $rule=$rsdb[content_rule];

 

上面是对采集规则的处理

下面是对采集后的数组处理

 

   //对采集的内容跟据正则进行校正
   preg_match_all("/$rule/is",$show_content,$array2);
   
 
   //获取有用的数组
//   foreach( $ruledb AS $key=>$value){
//    foreach( $array2[$key] AS $key2=>$value2){
//     $listdb[$value][]=$value2;
//    }
//   }
//   
//   //把用户自定义的变量都取出来
//   foreach( $listdb AS $key=>$value){
//    $$key=$value[0];
//    $gather_module_valeDB[$key]=$value[0]; //为其它模型字段采集做处理
//   }

              //jake
   $content=$array2[1][0];

同理,红色表示对是我对新内容的添加

就这么简单,我们就可以实现对php168采集规则改为php的规则,这样对于我们程序员说就有更大发挥空间,而不会出现老是采集不了内容的尴尬局面了.

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载