php如何实现长文章分页 数据库中一条很长的记录要分成几页,该如何实现?用字符串截取函数截取substr()倒可以实现,但是会出现乱码问题,或者html标签会被切割 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用什么编辑器。用编辑器里的分页符 。在php 里 用 explode 来分割。 分割出来的就是你想要的了!! 你用什么编辑器。用编辑器里的分页符 。在php 里 用 explode 来分割。 分割出来的就是你想要的了!! 用的FCK编辑器,插入分页符或特殊标记,现在用的就是这样的方法,但感觉有点不是太方便,有木有直接实现分页的方法??? 前短时间刚发过一个帖子,最后的讨论结果:最常用的单个文章分页办法恐怕就是手动标记符了。你去看一下把。希望对你有帮助http://topic.csdn.net/u/20120302/08/ed735e0b-0995-4d0a-8880-15b6a6abba0e.html唠叨给的资料http://topic.csdn.net/u/20100816/02/f954078b-2e2b-440e-a063-ef8beb9d8370.html?46280 这玩意要写好还挺费时间的试试先将内容的顶层html标签找出来,作为整体对待,这部分不可分割,遇到闭合标签没做好,估计就瞎啦<div> …… ……<span>……</span></div><table……> <table……> </table></table> 运用这个函数,是否要开启php.ini中的配置,但开启后,没有作用,依旧乱码 $c_page="";if(isset($_GET['page']))$c_page=$_GET['page']; //去掉中间空格//当前页$contstr="第一行GDSGVFGFDGFDGFDFDFDSF第2行FDSAFDSFASDFF第3行FDSAFDSAFDSAFSDAFDSFDSAF第4行DSAFDSAFSDAF第5行FDSAFDSFDSFDSFFDERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR";// 文字内容,可从数据库中查询出$listbyte=7; //每页显示字节数,正常情况下可设置为5000或其他//##寻找文章分页点----------$contlen=strlen($contstr);$j=0; //总页数$listat[0]=0;$lookAt=0;for($i=1;$i<$contlen/$listbyte+1;$i++){if($lookAt<$listbyte)$lookAt=$listbyte;if($lookAt>$contlen){$j++;$listat[$j]=$contlen;break;}$endAt=strpos($contstr,"\n",$lookAt); // \n//如果余下的内容不足一页的1/5加到本页或找不到分页符则作一页处理if($endAt>$contlen-$listbyte/5 or intval($endAt)<1){$j++;$listat[$j]=$contlen; ///break;}else{$j++;$listat[$j]=$endAt;$lookAt=$endAt+$listbyte;}} //打印页码$pagenum=$j;//总页$page=intval($c_page);if(empty($page) or $page<1 or $page>$pagenum) $page=1;if($pagenum>1)for($i=1;$i<$pagenum+1;$i++){echo "<a href='?page=$i'>$i 页</a> ";}//输出当前页内容$stag=$page-1;$startb=$listat[$stag];if($startb>0) //去除首个换行$startb=$startb+1;$cont=substr($contstr,$startb,$listat[$page]-$startb);echo "<BR/>文章内容:<BR/>";if($page>1)echo "[接上页] ";echo $cont;?>用上面的方法可以实现上文章的分页,但是有的时候好像又不行,大家帮忙看下,是不是代码有什么问题啊 楼主能确定内容中的换行符一定是"\n"?如果接收到"<br/>"、"\r"呢?所以建议自定义分页符,如"-----%rand(100000,999999)%-----" 求高手指教PHP把数字ID转字母ID的 使用示例页面代码 请大家帮帮忙,请问php应该如何接收客户端传过来的字符串数组? smarty的工作原理具体是什么? 求教:SMARTY的include_file 招聘有经验的PHPer(京广桥附近) 正规表达式问题 如何使用正则从内容中提取图片url,并删除内容中与图片有关的代码? 如何获取当前页面的url地址? ▄◣mysql创建表时出错!mysql.proc不存在? php中关于重定向问题 请教一个正则(急) 正则表达式匹配,并替换部分字符
用编辑器里的分页符 。
在php 里 用 explode 来分割。 分割出来的就是你想要的了!!
用编辑器里的分页符 。
在php 里 用 explode 来分割。 分割出来的就是你想要的了!!
前短时间刚发过一个帖子,最后的讨论结果:最常用的单个文章分页办法恐怕就是手动标记符了。你去看一下把。希望对你有帮助http://topic.csdn.net/u/20120302/08/ed735e0b-0995-4d0a-8880-15b6a6abba0e.html唠叨给的资料
http://topic.csdn.net/u/20100816/02/f954078b-2e2b-440e-a063-ef8beb9d8370.html?46280
<div>
……
……<span>……</span>
</div>
<table……>
<table……>
</table>
</table>
if(isset($_GET['page']))$c_page=$_GET['page']; //去掉中间空格//当前页
$contstr="第一行GDSGVFGFDGFDGFDFDFDSF
第2行FDSAFDSFASDFF
第3行FDSAFDSAFDSAFSDAFDSFDSAF
第4行DSAFDSAFSDAF
第5行FDSAFDSFDSFDSFFDERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR";// 文字内容,可从数据库中查询出
$listbyte=7; //每页显示字节数,正常情况下可设置为5000或其他
//##寻找文章分页点----------
$contlen=strlen($contstr);
$j=0; //总页数
$listat[0]=0;
$lookAt=0;
for($i=1;$i<$contlen/$listbyte+1;$i++){
if($lookAt<$listbyte)
$lookAt=$listbyte;
if($lookAt>$contlen){
$j++;
$listat[$j]=$contlen;
break;
}
$endAt=strpos($contstr,"\n",$lookAt); // \n
//如果余下的内容不足一页的1/5加到本页或找不到分页符则作一页处理
if($endAt>$contlen-$listbyte/5 or intval($endAt)<1){
$j++;
$listat[$j]=$contlen; ///
break;
}
else{
$j++;
$listat[$j]=$endAt;
$lookAt=$endAt+$listbyte;
}
}
//打印页码
$pagenum=$j;//总页
$page=intval($c_page);
if(empty($page) or $page<1 or $page>$pagenum) $page=1;
if($pagenum>1)
for($i=1;$i<$pagenum+1;$i++){echo "<a href='?page=$i'>$i 页</a> ";}//输出当前页内容
$stag=$page-1;
$startb=$listat[$stag];
if($startb>0) //去除首个换行
$startb=$startb+1;
$cont=substr($contstr,$startb,$listat[$page]-$startb);
echo "<BR/>文章内容:<BR/>";
if($page>1)
echo "[接上页] ";
echo $cont;
?>用上面的方法可以实现上文章的分页,但是有的时候好像又不行,大家帮忙看下,是不是代码有什么问题啊
所以建议自定义分页符,如"-----%rand(100000,999999)%-----"