PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2015-01-24信息快讯网
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.jb51.net"; $current=$_REQUEST['page_t']; $result=ff_page($content1,$current); echo $result; ?>
php 截取字符串并以零补齐str_pad() 函数
php调用mysql数据 dbclass类
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
用PHP的超级变量$_GET获取HTML表单(Form) 数据
php数据库抽象层 PDO
php 安全过滤函数代码
PHP中使用CURL伪造来路抓取页面或文件
php join函数应用
php HandlerSocket的使用
PHP中使用gettext来支持多语言的方法
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
在smarty模板中使用PHP函数的方法
fleaphp crud操作之find函数的使用方法
php self,$this,const,static,->的使用
Wordpress php 分页代码
PHP字符串 ==比较运算符的副作用
php 3行代码的分页算法(求起始页和结束页)
php实现mysql同步的实现方法
php 魔术方法使用说明
PHP 身份验证方面的函数
使用zend studio for eclipse不能激活代码提示功能的解决办法
PHP iconv 函数转gb2312的bug解决方法
PHP 日期时间函数的高级应用技巧
PHP parse_url 一个好用的函数
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (二) 实例化对象 使用对象成员
frename PHP 灵活文件命名函数 frename