时间:2021-07-01 10:21:17 帮助过:2人阅读
//内容分页
$c_page=$_GET['page']; //当前页
$contstr=$NewsCentent; //新闻内容
//从数据库读出的内容
$listbyte=8000; //每页显示字节数,正常情况下可设置为5000或其他
//##寻找文章分页点----------
$contlen=strlen($contstr); //新闻长度
$j=0; //总页数
$listat[0]=0; //分页点位置数组
$lookAt=0; //分页点的起始寻找位置
for($i=1;$i<$contlen/$listbyte+1;$i++){
if($lookAt<$listbyte)
$lookAt=$listbyte; //寻找分页点的起始位置是页面的默认长度
if($lookAt>$contlen){ //如果不足一页的长度
$j++;
$listat[$j]=$contlen;//存储第$j页的分页点位置
break;
}
$endAt=strpos($contstr,"\n",$lookAt); // 寻找本页最后一段内容的结束位置(一段内容在一页内)
//如果余下的内容不足一页的1/5加到本页,或找不到分页符则作一页处理
if($endAt>$contlen-$listbyte/5 or intval($endAt)<1){
$j++;
$listat[$j]=$contlen; ///
break;
}
else{
$j++;
$listat[$j]=$endAt; //存储第$j页的分页点位置
$lookAt=$endAt+$listbyte; //下一次寻找分页点的起始搜寻位置
}
}
//打印页码
$pagenum=$j;//总页
$page=intval($c_page);
if(empty($page) or $page<1 or $page>$pagenum) $page=1;
//$row[0]为ID号,翻页后要根据ID来显示内容
//输出当前页内容
$stag=$page-1;
$startb=$listat[$stag];//开始位置
if($startb>0) //去除首个换行
$startb=$startb+1;
$cont=substr($contstr,$startb,$listat[$page]-$startb);
//heightlight_string("$cont");//php高亮代码输出
$ShowContent=$cont.'