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

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

WBOY
WBOY원래의
2016-06-13 12:21:08806검색

复制代码 代码如下:


{
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{
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*$PageLength )
{
$PageArray[$i] = $Pos ;
$Pos = strpos($Pos+$PageLength,$content,$Seperator[$j]) ;
}
if($PageArray[$i]>0)
{
$j = $j + sizeof($Seperator) + 1;
}
}

//---
for($i=1;$i
for($j=0;$j{
//echo $Seperator[$j];
$Pos=strpos($content,$Seperator[$j],$PageArray[$i-1]+1900);
while($Pos > 0 && $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{
$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{

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

if($pageecho " 下一页 ";
else
echo " 下一页 ";

echo "
";
}
}

}?>


使用

复制代码 代码如下:


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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.