加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 05:36:12 所属栏目:PHP教程 来源:网络整理
导读:div class="codetitle" a style="CURSOR: pointer" data="57864" class="copybut" id="copybut57864" onclick="doCopy('code57864')" 代码如下: div class="codebody" id="code57864" ?php function ff_page($content,$page) { global $expert_id; $PageLeng

<div class="codetitle"><a style="CURSOR: pointer" data="57864" class="copybut" id="copybut57864" onclick="doCopy('code57864')"> 代码如下:<div class="codebody" id="code57864">
<?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."
";
//echo "长度:".$CLength."


";
//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,$PageArray[$i-1]+1900);
while($Pos > 0 && $Pos < ($i+1)$PageLength && $Pos > $i$PageLength )
{
$PageArray[$i] = $Pos ;
$Pos = strpos($Pos+$PageLength,$Seperator[$j]) ;
}
if($PageArray[$i]>0)
{
$j = $j + sizeof($Seperator) + 1;
}
}
}
//--最后一页
$PageArray[$PageCount-1]=$CLength; //$page=2;
if($page==1)
{
$output=substr($content,$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-1]-$PageArray[$page-2]); if($PageCount>1)
{
echo "


";
echo "".$page."/".$PageCount." 页 ";
if($page>1)
echo "<a href=$PHP_SELF?expert_id=$expert_id&page_t=".($page-1).">上一页 ";
else
echo "上一页 "; for($i=1;$i<=$PageCount;$i++)
{ echo "<a href=$PHP_SELF?expert_id=$expert_id&page_t=".$i.">[".$i."] ";
} if($page<$PageCount)
echo " <a href=$PHP_SELF?expert_id=$expert_id&page_t=".($page+1).">下一页 ";
else
echo " 下一页 "; echo "
";
}
} }?>

使用
<div class="codetitle"><a style="CURSOR: pointer" data="49578" class="copybut" id="copybut49578" onclick="doCopy('code49578')"> 代码如下:<div class="codebody" id="code49578">
<?php
$content1=''测试文字,尽量长一些,www.52php.cn";
$current=$_REQUEST['page_t'];
$result=ff_page($content1,$current);
echo $result;
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读