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 相关文章推荐
自己动手做一个SQL解释器
Oct 09 PHP
PHP下MAIL的另一解决方案
Oct 09 PHP
用PHP将网址字符串转换成超链接(网址或email)
May 25 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
php实现用于计算执行时间的类实例
Apr 18 PHP
分享php分页的功能模块
Jun 16 PHP
如何实现php图片等比例缩放
Jul 28 PHP
Yii清理缓存的方法
Jan 06 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
PHP开发实现微信退款功能示例
Nov 25 PHP
PHP 应用容器化以及部署方法
Feb 12 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
python显示生日是星期几的方法
2015/05/27 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
计算机应用专业毕业生求职信
2013/10/24 职场文书
养殖项目策划书范文
2014/01/13 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python