//内容分页
$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.'<br>';

if($pagenum>1){
$ShowPage='<dt> <a href="'.$NewsID.'-'.($page-1).'.html">上一页</a> </dt>';
for($i=1;$i<$pagenum+1;$i++){
if($page==$i){
$Class='Class="onnum"';
$ShowPage.= '<dt> <a '.$Class.' href="'.$NewsID.'-'.$i.'.html">'.$i.'</a> </dt>';
}else{
$ShowPage.= '<dt> <a href="'.$NewsID.'-'.$i.'.html">'.$i.'</a> </dt>';
}
}
$ShowPage.='<dt><a href="'.$NewsID.'-'.($page+1).'.html">下一页</a ></dt>';
}以上是简单的PHP新闻分页算法和新闻显示,是自动分页算法,我想加一个手动分页符,能在任意位置分页,请高手修改一下,不胜感激!!!