PHP写内容分页源码剖析-it论坛-计算机论坛
PHP写内容分页源码剖析-it论坛-计算机论坛所谓内容分页,就是根据你自己设定的标签,将较长的内容按你设置的标签来进行分页,本文涉及的两个地方,一个是地址的获取,网上有很多这样的分页教程,但是地址都是固定的,如果页面中有评论分页以及文章ID调用过来,就会非常麻烦,文中采用了PHP100视频教程中分页原理 (http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2009/0416/807.html) 思路,有不清楚的童鞋可以看下此教程,同时运用了一些内容处理函数以及数组方面知识,本人头次写这样的文章,表述不清楚的还请见谅
先看下效果图:
http://www.php100.com/cms/uploads/101201/1_093727_1.jpg
更多这样的分页效果,在php100论坛有很多这样的样式,在这儿分享图片中的CSS样式代码:
CSS: DIV.digg {PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 3px; PADDING-TOP: 3px; TEXT-ALIGN: center}
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}
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}
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}
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}
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}
PHP代码:
<?php
$contents="fjka;fjsa;#page#批量生#page#成分成文#page#件并且加#page#上分页代码"; //带了分页标签的原内容
$cons="fjka;fjsa;adsfasdfas码";//不带分页标签的原内容
function conpage($contents) {
$pagesss='#page#';//设定分页标签
$a=strpos($contents,$pagesss);
if($a){
$con=explode($pagesss,$contents);
$cons=count($con);
@$p = ceil($_GET['p']);
if(!$p||$p<0) $p=1;
$url=$_SERVER["REQUEST_URI"];
$parse_url=parse_url($url);
$url_query=$parse_url["query"];
if($url_query){
$url_query=ereg_replace("(^|&)p=$p","",$url_query);
$url=str_replace($parse_url["query"],$url_query,$url);
if($url_query) $url.="&p"; else $url.="p";
}else {
$url.="?p";
}
if($cons<=1) return false;//只有一页时不显示分页
$pagenav="<div class=\"digg\">";
for($i=1;$i<=$cons;$i++){
if($i==$p){
$pagenav.='<span class="current">'.$p.'</span>';
}else{
$pagenav.="<a href='$url=$i'>$i</a>";
}
}
$pagenav.="</div>";
return $con[$p-1].$pagenav;
}else{
return $contents;
}
}
echo conpage($contents); //带有分页标签的
echo conpage($cons);//不带分页标签的
?>出自:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/1201/6940.html
页:
[1]