方便快捷的PHP长文章分页函数
程序员文章站
2022-04-19 08:43:42
...
今天我们就为大家写了一段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;
- }
- }
- }
- //--PHP长文章分页函数最后一页
- $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长文章分页函数的使用
- ?php
- $content1=''测试文字,
尽量长一些,www.corange.cn";- $current=$_REQUEST['page_t'];
- $result=ff_page
($content1,$current);- echo $result;
- ?>
PHP长文章分页函数的使用与实现的代码示例如上所示。