[code]
/***********************************************************
Copyright (C), 2005,
Author: 游子云
Description:
Version: 1.0
Date: 2005-11-13
************************************************************/
class strPage
{
var $PageWordNum;
var $CLength;
var $PageLength;
var $content;
var $clen;
var $start;
var $PageWordNum;
var $content;
var $stringLen;
var $tmpstr;
var $page;
var $url_str;
var $PageCount;
function SubstrGB($content,$start,$PageWordNum)
{
$this->start=$start;
$this->content=strip_tags($content);
$this->PageWordNum=$PageWordNum;
$this->stringLen=mb_strlen($this->content);
$this->clen=0;
for($i=0;$i<$this->stringLen;$i++,$this->clen++)
{
if ($this->clen>=$this->start+$this->PageWordNum)
break;
if(ord(mb_substr($this->content,$i,1))>0xa0)
{
if ($this->clen>= $this->start)
$this->tmpstr.=mb_substr($this->content,$i,2);
$i++;
}
else
{
if ($this->clen>= $this->start)
$this->tmpstr.=mb_substr($this->content,$i,1);
}
}
return $this->tmpstr;
}
function ff_page($page,$url_str)
{
$this->page=$page;
$this->url_str=$url_str;
$this->PageLength = $this->PageWordNum*2; //每页字数
$this->PageCount = ceil(($this->stringLen/$this->PageWordNum)); //计算页数
//--最后一页
if($this->PageCount>1)
{
$this->tmpstr= "
";
$this->tmpstr.= (iconv("gb2312","UTF-8","第"))."".$this->page."".(iconv("gb2312","UTF-8","页共")).$this->PageCount.(iconv("gb2312","UTF-8","页"))." ";
if($this->page>1)
$this->tmpstr.= "url_str."&f_page=".($this->page-1)."">".(iconv("gb2312","UTF-8","上一页"))." ";
else
$this->tmpstr.= iconv("gb2312","UTF-8","上一页");
if ((intval($this->page/10))<(intval($this->PageCount/10)))
{
$pg=(ceil($this->page/10))*10;
$i=(ceil($this->page/10)-1)*10+1;
}
elseif((intval($this->page/10))==(intval($this->PageCount/10)))
{
$i=intval($this->PageCount/10)*10+1;
$pg=($this->PageCount-(intval($this->PageCount/10))*10)+(intval($this->PageCount/10))*10;
}
else{
$pg=10;
$i=1;
}
for($i;$i<=$pg;$i++)
{
if ($i==$this->page) {
$this->tmpstr.= "url_str."&f_page=".$i."">[".$i."] ";
}
else {
$this->tmpstr.= "url_str."&f_page=".$i."">".$i." ";
}
}
if($this->page<$this->PageCount)
$this->tmpstr.= " url_str."&f_page=".($this->page+1)."">".(iconv("gb2312","UTF-8","下一页"))."";
else
$this->tmpstr.= (iconv("gb2312","UTF-8","下一页"));
$this->tmpstr.= "";
}
return $this->tmpstr;
}//end
}
?>
[/code]
[[i] Last edited by 游子云 on 2005-11-14 at 12:47 AM [/i]]