PHP 記事コンテンツのページネーション コードは、エディターによって挿入された改ページに基づいて動作し、非常に美しいオフセット効果のページネーションを作成できます。記事コンテンツのページング 記事コンテンツのページング
php チュートリアル 記事コンテンツのページング コードは、エディターによって挿入された改ページに基づいて動作します。非常に美しいオフセット効果を備えたページングを作成できます。
記事コンテンツのページネーション
記事コンテンツのページネーション
* 著者: Chen Kai
* データ: 2010-09-15
* 記事ページネーションクラス
*/
class contentpage
{
{
private $content; //記事コンテンツ
private $ pagesize; //ページごとの最小バイト数
private $breakflag (カスタマイズ可能、デフォルトは n)
private $pageurl; //ページングパラメータ
; //総ページ数
public $page; //現在のページ番号
function __construct($content = "",$pagesize = 10,$breakflag = "n ", $pageurl = '',$pagevar = 'p')$this->content = $content;
public function getpages()
$this->pagesize = $pagesize;
$this->breakflag = $breakflag;
$this->pageurl = $pageurl;
$this->pagevar = $pagevar;
$this->getpages();
}
//総ページ数、各ページの開始位置と終了位置page{
}
$contentlen = strlen($this->content); //記事の総バイト数
$this->pagebreak[0] = 0;
$i = 0;
$offset = $this->pagesize;
for ($k=0;$kpagesize;$k++)
{
if($offset > $contentlen)
{
$i++ ;
$this->pagebreak[$i] = $contentlen;
Break;
}
//$this->pagevar が表示される場所を検索します
$where = strpos($this-> content,$this- >breakflag,$offset);
if($where > $contentlen or intval($where) {
$i++;
$this->pagebreak[$i] = $contentlen;
休憩;
if(isset($_get[$this->pagevar]) && $_get[$this->pagevar] > 1 && $_get[$this- >pagevar] <= $this->pagecount)
{
$this->page = $_get[$this->pagevar];
}
else
{
$this->page = 1 ;
}
}
/ /各ページの内容
function getpage()
{
//現在のページ番号のデータをインターセプト
if($this->page > 1)
{
return substr( $this->content,$this->pagebreak[$this->page-1]+1,$this->pagebreak[$this->page] - $this->pagebreak[$this ->page-1]);
}
else
{
return substr($this->content,$this->pagebreak[$this->page-1],$this->pagebreak[ $this->page] - $this-> ;pagebreak[$this->page-1]);
}
//改ページ
public function getpagenav()
{
if($this ->ページ > 1)
$ pagenav = "前のページ a> ";
}//出数字页码
for($j=1;$j<=$this->pagecount;$j++)
{
if($j == $this->page)
{
$pagenav . = "".$j." ";
}
else
{
$pagenav .= "".$j." ";
}
}
//下一页
if($this->page < $this->pagecount && $this->pagecount >1)
{
$pagenav .= "次の一页 ";
}
return $pagenav;
}
//获取url地址
public function geturl()
{
$url = $_server['request_uri'];
$parse_url = parse_url($url);
$query_url = $parse_url['query'];
if($query_url)
{
$query_url = ereg_replace("(^|&)".$this->pagevar."=".$this->page,"",$query_url);
$url = str_replace($parse_url['query'],$query_url,$url);
if($query_url)
{
$url .= "&".$this->pagevar;
}
else
{
$ url .= $this->pagevar;
}
}
else
{
$url .= "?".$this->pagevar;
}
return $url;
}
}$content = 「第一页:文章内容分页阿斯顿房间阿斯顿来看福建省地方吉林省福建路口附近主要拉飞机上浪费的说浪费监理费
第二页:阿斯顿房间阿双方了解啊对」萨拉开発行记得谁来付款将令对方空間的来福建阿里是否
第三页:欧文炯诶哦生地拉开面来看就继续超文章内容分页滤机蓝卡
第四页:欧文日据拉萨及";
$model = new contentpage($content);
echo $model->getpage(); //出分页内容
echo $model->getpagenav(); //输出页码
?>