当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部

PHP
dedecms模版制作使用方法
dede3.1分页文字采集过滤规则详说(图文教程)
dede3.1分页文字采集过滤规则详说(图文教程)续二
dede3.1分页文字采集过滤规则详说(图文教程)续四
手把手教你使用DedeCms V3的在线采集图文教程
PHP实现MVC开发得最简单的方法:模型
php下用GD生成生成缩略图的两个选择和区别
Win2003服务器安全加固设置--进一步提高服务器安全性
[php] 我的微型论坛的简单教程[已完成]
phpMyAdmin下载、安装和使用入门教程
PHP 优化配置:加速你的VBB,phpwind,Discuz,IPB,MolyX
php+mysql开源XNA 聚合程序发布 下载
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
小结下MySQL中文乱码,phpmyadmin乱码,php乱码 产生原因及其解决方法
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
[PHP]经常用到的实用函数集合
php扩展ZF:Validate扩展
php开发工具之vs2005图解
PHP 5.0创建图形的实用方法完整篇

PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 293 ::
收藏到网摘: n/a

PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部 ,需要的朋友可以参考下。
复制代码 代码如下:

<?php function ff_page($content,$page)
{
global $expert_id;
$PageLength = 2000; //每页字数
$CLength = strlen($content);
$PageCount = floor(($CLength / $PageLength)) + 1; //计算页数
$PageArray=array();
$Seperator = array("\n","\r","。","!","?",";",",","”","'"); //分隔符号
//echo "页数:".$PageCount."<br>";
//echo "长度:".$CLength."<br><br><br>";
//strpos() 函数返回字符串在另一个字符串中第一次出现的位置
if($CLength<$PageLength)
{
echo $content;
}else{
$PageArray[0]=0;
$Pos = 0;
$i=0;
//第一页
for($j=0;$j<sizeof($Seperator);$j++)
{
//echo $Seperator[$j];
$Pos=strpos($content,$Seperator[$j],$PageArray[$i]+1900);
while($Pos > 0 && $Pos < ($i+1)*$PageLength && $Pos > $i*$PageLength )
{
$PageArray[$i] = $Pos ;
$Pos = strpos($Pos+$PageLength,$content,$Seperator[$j]) ;
}
if($PageArray[$i]>0)
{
$j = $j + sizeof($Seperator) + 1;
}
}
//---
for($i=1;$i<$PageCount-1;$i++){
for($j=0;$j<sizeof($Seperator);$j++)
{
//echo $Seperator[$j];
$Pos=strpos($content,$Seperator[$j],$PageArray[$i-1]+1900);
while($Pos > 0 && $Pos < ($i+1)*$PageLength && $Pos > $i*$PageLength )
{
$PageArray[$i] = $Pos ;
$Pos = strpos($Pos+$PageLength,$content,$Seperator[$j]) ;
}
if($PageArray[$i]>0)
{
$j = $j + sizeof($Seperator) + 1;
}
}
}

//--最后一页
$PageArray[$PageCount-1]=$CLength;
//$page=2;
if($page==1)
{
$output=substr($content,0,$PageArray[$page-1]+2);
}
if($page>1 && $page<=$PageCount)
{
$output=substr($content,$PageArray[$page-2]+2,$PageArray[$page-1]-$PageArray[$page-2]);
$output=" (上接第".($page-1)."页)\n".$output;
}
echo str_replace("\n","<br> ",$output);
//if($page==$PageCount)
//return $output=substr($content,$PageArray[$page-2]+2,$PageArray[$page-1]-$PageArray[$page-2]);
if($PageCount>1)
{
echo "<br><br><br><center>";
echo "<font color='ff0000'>".$page."</font>/".$PageCount." 页 ";
if($page>1)
echo "<a href=$PHP_SELF?expert_id=$expert_id&page_t=".($page-1).">上一页</a> ";
else
echo "上一页 ";
for($i=1;$i<=$PageCount;$i++)
{
echo "<a href=$PHP_SELF?expert_id=$expert_id&page_t=".$i.">[".$i."]</a> ";
}
if($page<$PageCount)
echo " <a href=$PHP_SELF?expert_id=$expert_id&page_t=".($page+1).">下一页</a> ";
else
echo " 下一页 ";
echo "</center>";
}
}
}?>

使用
复制代码 代码如下:

<?php
$content1=''测试文字,尽量长一些,www.ruanchen.com";
$current=$_REQUEST['page_t'];
$result=ff_page($content1,$current);
echo $result;
?>