zoukankan      html  css  js  c++  java
  • 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($Pag(www.111cn.net)eArray[$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.111cn.net";
    $current=$_REQUEST['page_t'];
    $result=ff_page($content1,$current);
    echo $result;
    ?>
    from:http://www.111cn.net/phper/21/7438a396c8bc31f863be9a7de13dd6a6.htm

  • 相关阅读:
    CSS常用记录
    CSS字体图标使用方式
    CSS之多个div一行排列
    Mysql MVCC原理和幻读解决
    第8章 管理还原数据
    第20章 数据的移动
    oracle恢复删除的数据
    第11章 索引的管理与维护
    第10章 管理表
    第19章 归档模式下的数据库恢复
  • 原文地址:https://www.cnblogs.com/alibai/p/4065935.html
Copyright © 2011-2022 走看看