• 技术文章 >后端开发 >php教程

    PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部_PHP教程

    2016-07-21 15:43:21原创546

    复制代码 代码如下:

    {
    global $expert_id;
    $PageLength = 2000; //每页字数
    $CLength = strlen($content);
    $PageCount = floor(($CLength / $PageLength)) + 1; //计算页数
    $PageArray=array();
    $Seperator = array("\n","\r","。","!","?",";",",","”","'"); //分隔符号

    //echo "页数:".$PageCount."
    ";
    //echo "长度:".$CLength."


    ";
    //strpos() 函数返回字符串在另一个字符串中第一次出现的位置
    if($CLength<$PageLength)
    {
    echo $content;

    }else{

    $PageArray[0]=0;
    $Pos = 0;
    $i=0;
    //第一页
    for($j=0;$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{
    //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","
    ",$output);
    //if($page==$PageCount)
    //return $output=substr($content,$PageArray[$page-2]+2,$PageArray[$page-1]-$PageArray[$page-2]);

    if($PageCount>1)
    {
    echo "


    ";
    echo "".$page."/".$PageCount." 页 ";
    if($page>1)
    echo "上一页 ";
    else
    echo "上一页 ";

    for($i=1;$i<=$PageCount;$i++)
    {

    echo "[".$i."] ";
    }

    if($page<$PageCount)
    echo " 下一页 ";
    else
    echo " 下一页 ";

    echo "
    ";
    }
    }

    }?>

    使用
    复制代码 代码如下:

    $content1=''测试文字,尽量长一些,www.jb51.net";
    $current=$_REQUEST['page_t'];
    $result=ff_page($content1,$current);
    echo $result;
    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/320767.htmlTechArticle复制代码 代码如下: ?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = strlen($content); $PageCount = floor(($CLength /...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 文章 分页 函数 使用方法 不会 分割 段落 翻页 底部 复制 代码 如下 php function
    上一篇:用mysql触发器自动更新memcache的实现代码_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊PHP escapeshellarg函数使用的中文问题• PHP原生类的总结分享• 分享PHP函数使用小工具(附代码示例)• PHP安全编码总结(经验分享)• 非常全面!PHP常见漏洞代码总结!
    1/1

    PHP中文网