PHP 长文章分页函数
PHP程序员们在编写程序代码的时候,通常都会用到文章的分页等功能的实现。每次编写不同的程序都需要编写一遍文章分页的代码,比较玛法。
今天我们就为大家写了一段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.phprm.com"; $current=$_REQUEST['page_t']; $result=ff_page ($content1,$current); echo $result;
PHP长文章分页函数的使用与实现的代码示例如上所示。
本文地址:http://www.phprm.com/code/7438a396c8bc31f863be9a7de13dd6a6.html
转载随意,但请附上文章地址:-)