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

时间: 2024-10-19 03:30:31

PHP 长文章分页函数的相关文章

使用PHP将长文章分页

如何分页 手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面.这种分页方法分页准确,但是需要人工手动添加分页符,工作量大. 自动分页:PHP程序会根据设置好的分页符将内容进行分页,然后生成不同的静态页面.该方法效率高,对处理不同的html代码标签要求高. 前端JS分页:使用Javascript将长文章内容截取分段,根据请求展示不同的分段内容,达到分页效果.这种方法一次将内容读取,由前端js处理分页,体验好. 本文实例代码讲解的

PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )

/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 ******* 其它组件:jQuery-1.8.3.min.js + Smarty 3.1.18 + TinyMCE 4.1.6 ******* Date:2014-10-20 ******* Author:小dee ******* Blog:http://www.cnblogs.com/dee0912/*

php分页函数示例代码,php分页代码实现方法

php分页函数示例代码 分享一例php分页函数代码,用此函数实现分页代码很不错. 代码,php分页函数. <?php /* * Created on 2011-07-28 * Author : LKK , http://lianq.net * 使用方法: require_once('mypage.php'); $result=mysql_query("select * from mytable", $myconn); $total=mysql_num_rows($result);

jQuery 随滚动条滚动效果 (适用于内容页长文章)

直接入题! 当内容页比较长的时候,网站右侧一直是空白,不如放点有用的东西给用户看,最好不要放广告,因为那样很邪恶,你懂的. 好吧,昨天写了这个东西,jQuery滚动随动区块,代码如下: //侧栏随动 var rollStart = $('.feed-mail'), //滚动到此区块的时候开始随动 rollOut = $('.cookie-list'); //隐藏rollStart之后的区块 rollStart.before('<div class="da_rollbox">

分页函数

之前在用thinkphp做项目的时候,感觉他的分页函数用着不习惯,自己琢磨着写了一个分页函数,放到这里来,用到的时候可以直接照搬.   public function pagination($count,$page,$limit,$show_page=5){           //总页码 = 总数据量/每一页的数据量 $pagesize           $pagesize = ceil( $count/$limit);           //获取当前页码 $page           

PHPCMS V9二次开发自定义分页函数的解决方案

下面为大家分享一个PHPCMS V9二次开发自定义分页函数的方法. 方法如下: 首先打开 phpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存. 打开 phpcms/libs/classes/template_cache.class.php,找到207行的: $str .= '$pages = pages($'.$op.'_total, $page, $pagesiz

SQL Server 2012 新的分页函数 OFFSET &amp; FETCH NEXT

DECLARE @page INT, @size INT;select @page = 300, @size = 10 SELECT *FROM gpcomp1.GPCUSTWHERE company like 'a%'ORDER BY CUSTNOOFFSET (@page -1) * @size ROWSFETCH NEXT @size ROWS ONLY; SQL Server 2012 新的分页函数 OFFSET & FETCH NEXT,布布扣,bubuko.com

PHP实现仿Google分页效果的分页函数

本文实例讲述了PHP实现仿Google分页效果的分页函数.分享给大家供大家参考.具体如下: /** * 分页函数 * @param int $total 总页数 * @param int $pagesize 每页几条 * @param string $pkey url中页面变量名称 * @param string $url 基础url,其中的{page}会被替换为页码 * 依赖函数 request_uri httpInt */ function page($total,$pagesize=10,

PHP基于数组的分页函数(核心函数array_slice())

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数. <?php /** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * $count 每页多少条数据 * $pag