今天我們就為大家寫了一段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長文章分頁函數的使用與實現的代碼示例如上所示。