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


Posted in PHP onOctober 22, 2009
<?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=''测试文字,尽量长一些,3water.com"; 
$current=$_REQUEST['page_t']; 
$result=ff_page($content1,$current); 
echo $result; 
?>

PHP 相关文章推荐
十天学会php(3)
Oct 09 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
用PHP读取flv文件的播放时间长度
Sep 03 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
php中header跳转使用include包含解决参数丢失问题
May 08 PHP
学习PHP session的传递方式
Jun 15 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
PHP+JS实现的实时搜索提示功能
Mar 13 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
Apr 01 PHP
Wordpress php 分页代码
Oct 21 #PHP
PHP字符串 ==比较运算符的副作用
Oct 21 #PHP
php 3行代码的分页算法(求起始页和结束页)
Oct 21 #PHP
php实现mysql同步的实现方法
Oct 21 #PHP
php 魔术方法使用说明
Oct 20 #PHP
关于Appserv无法打开localhost问题的解决方法
Oct 16 #PHP
php foreach、while性能比较
Oct 15 #PHP
You might like
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
浅谈编码,解码,乱码的问题
2016/12/30 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
Python有参函数使用代码实例
2020/01/06 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Python验证码截取识别代码实例
2020/05/16 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
会计专业自荐信范文
2013/12/02 职场文书
项目专员岗位职责
2013/12/04 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
物业工作计划书
2014/01/10 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
环卫工作汇报材料
2014/10/28 职场文书
超市食品安全承诺书
2015/04/29 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
消夏晚会主持词
2015/06/30 职场文书
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫