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;
}
}
}

//--最后一页
$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;
?>

时间: 2024-09-20 06:14:36

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"

PHP实现长文章分页实例代码(附源码)_php实例

当文章内容比较长,为了更好的满足用户体验度,我们将文章内容分页显示处理,而一般分页处理是在后台发布文章的时候就将提交的内容生成多个分页后的静态文件.通过本文结合实例采用php动态将长文章内容进行分页处理. 查看效果演示     源码下载 如何分页 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同

asp.net使用FCK编辑器中的分页符实现长文章分页功能_实用技巧

本文实例讲述了asp.net使用FCK编辑器中的分页符实现长文章分页功能.分享给大家供大家参考,具体如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SplitContent.aspx.cs" Inherits="SplitContent" %> <%@ Register Assembly="FredCK.FCKeditorV2&

PHP长文章分页的示例

当文章内容特长时,为了方便阅读和页面展示我们一般将内容分页来显示.而一般分页处理是在后台发布文章的时候就将提交的内容生成多个分页后的静态文件.本文我们结合实例来讲解采用PHP动态将长文章内容进行分页处理. 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同的静态页面.该方法效率高,对处理不同的ht

PHP长文章分页的使用例子

content.txt 这个文件里面放的是内容了,如果你是与mysql数据库结合的话只要把把这一句换成你的数据库的内容即可. index.php文件        <link rel="stylesheet" type="text/css" href="http:///jquery/css/common.css" />         <style type="text/css">           

asp长文章分页代码

上段时间我写了一个php的长文章分页代码用到的explode来进行分割实现的,今天我们就来讲讲asp文章分页代码以及长文章分页和asp长文章分页方法.  Function c2u(myText) Dim i c2u = "" For i = 1 to Len(myText) c2u = c2u & "&#x" & Hex(AscW(Mid(myText, i, 1))) & ";" Next End Functio

长文章分页显示思路及页码条显示新思路

分页|显示 这两天利用空闲时间编程序,琢摩了一下关于长文章分页以及页码条的简单实现方法. 思路是VBSCRIPT的. CurrentPage=Request.QueryString("page")'CurrentPage是当前页的意思 PageCount = Int(Len(Content)/SIZE) + 1'Content是长文章内容'SIZE是每一页显示字数'PageCount是最后一页的页码 START=Cint((CurrentPage-1)*SIZE+1)'START是每一

ASP 通用文章分页函数(非记录集分页)

分页|函数|记录集 说明: 本函数为文章分页, 非记录集分页本函数实现将文章分页显示, 并以指定长度显示每一分页本函数实现不需指定 URL, 自动更替 URL本函数实现返回多个结果, 为: 分页链接-文章统计信息-文章内容, 由字典实现如果分页大小大于文章总大小, 分页链接将为空. 显示如:第1页 第2页 第3页 第4页 第5页 50,000字/页 1/5页 共235,289字正文... 注: 显示内容的三个元素可自由变更位置. 附注: 如果您是在查找 记录集分页函数, 鄙人以前也写过一个, 名

基于行数预测的长文章分页

说句老实话,我是个不大习惯写博的主,而且本次写博目的是想过来发个小广告,哈哈,都是园子里的兄弟不要拿砖头扔我 园子里的兄弟时间都是很宝贵的.为了大家消消火,少让大家过来扔砖头.所以就把最近项目里碰到的一个长文章自动分页的问题跟大家分享下.说起长文章分页也是属于老生常谈了,网上搜下可以找到一箩筐.目前网上流传的代码大多是基于对文章中字符的多少来进行,这种方法对于图片等这些标记就束手无策了. 由于目前文章上传大多采用HTML编辑器,使得里面参杂的HTML代码严重影响到场文章分页的效果.我现在想说的是