六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 915|回复: 0

PHP写内容分页源码剖析-it论坛-计算机论坛

[复制链接]
 楼主| 发表于 2014-1-8 14:59:47 | 显示全部楼层 |阅读模式
PHP写内容分页源码剖析-it论坛-计算机论坛
所谓内容分页,就是根据你自己设定的标签,将较长的内容按你设置的标签来进行分页,本文涉及的两个地方,一个是地址的获取,网上有很多这样的分页教程,但是地址都是固定的,如果页面中有评论分页以及文章ID调用过来,就会非常麻烦,文中采用了PHP100视频教程中分页原理 (http://www.php100.com/html/shipi ... /2009/0416/807.html) 思路,有不清楚的童鞋可以看下此教程,同时运用了一些内容处理函数以及数组方面知识,本人头次写这样的文章,表述不清楚的还请见谅
先看下效果图:


更多这样的分页效果,在php100论坛有很多这样的样式,在这儿分享图片中的CSS样式代码:
CSS:
  1.     DIV.digg {PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 3px; PADDING-TOP: 3px; TEXT-ALIGN: center}  
  2.     DIV.digg A {BORDER-RIGHT: #aaaadd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #aaaadd 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #aaaadd 1px solid; COLOR: #000099; PADDING-TOP: 2px; BORDER-BOTTOM: #aaaadd 1px solid; TEXT-DECORATION: none}  
  3.     DIV.digg A:hover {BORDER-RIGHT: #000099 1px solid; BORDER-TOP: #000099 1px solid; BORDER-LEFT: #000099 1px solid; COLOR: #000; BORDER-BOTTOM: #000099 1px solid}  
  4.     DIV.digg A:active {BORDER-RIGHT: #000099 1px solid; BORDER-TOP: #000099 1px solid; BORDER-LEFT: #000099 1px solid; COLOR: #000; BORDER-BOTTOM: #000099 1px solid}  
  5.     DIV.digg SPAN.current {BORDER-RIGHT: #000099 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #000099 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #000099 1px solid; COLOR: #fff; PADDING-TOP: 2px; BORDER-BOTTOM: #000099 1px solid; BACKGROUND-COLOR: #000099}  
  6.     DIV.digg SPAN.disabled {BORDER-RIGHT: #eee 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #eee 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #eee 1px solid; COLOR: #ddd; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid}

  7. PHP代码:

  8.     <?php   
  9.     $contents="fjka;fjsa;#page#批量生[newpage]#page#成分成文#page#件并且加#page#上分页代码";   //带了分页标签的原内容  
  10.     $cons="fjka;fjsa;adsfasdfas码";  //不带分页标签的原内容  
  11.      
  12.     function    conpage($contents) {  
  13.         $pagesss='#page#';  //设定分页标签  
  14.         $a=strpos($contents,$pagesss);  
  15.         if($a){  
  16.         $con=explode($pagesss,$contents);  
  17.         $cons=count($con);   
  18.         @$p = ceil($_GET['p']);  
  19.         if(!$p||$p<0) $p=1;  
  20.         $url=$_SERVER["REQUEST_URI"];  
  21.         $parse_url=parse_url($url);  
  22.         $url_query=$parse_url["query"];  
  23.         if($url_query){  
  24.         $url_query=ereg_replace("(^|&)p=$p","",$url_query);  
  25.         $url=str_replace($parse_url["query"],$url_query,$url);  
  26.         if($url_query) $url.="&p"; else $url.="p";  
  27.         }else {  
  28.         $url.="?p";  
  29.         }  
  30.         if($cons<=1) return false;//只有一页时不显示分页  
  31.         $pagenav="<div class="digg">";  
  32.         for($i=1;$i<=$cons;$i++){  
  33.             if($i==$p){  
  34.                 $pagenav.='<span class="current">'.$p.'</span>';  
  35.             }else{  
  36.                 $pagenav.="<a href='$url=$i'>$i</a>";  
  37.             }  
  38.         }  
  39.         $pagenav.="</div>";  
  40.         return $con[$p-1].$pagenav;  
  41.         }else{  
  42.         return $contents;  
  43.         }  
  44.     }  
  45.      
  46.     echo     conpage($contents); //带有分页标签的  
  47.     echo     conpage($cons);  //不带分页标签的  
  48.      
  49.     ?>  
复制代码
出自:http://www.php100.com/html/webka ... 2010/1201/6940.html

该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表