十万火急~~!!PHP文章分页问题

lokiice 2008-10-06 09:25:07
1.从数据库中提取的文章(长字符串)怎么来进行分段
2.如何保证分页位置实在 段落结束的位置
3.对于表格形式的文本串,如何分页
4.如何按照普通阅读习惯来换行

现在采用的只是最单纯的1500字符长为一页,所以经常会在莫名其妙的地方分页,换行也是,有时会把一传数字分到2行上去
...全文
752 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
连边 2011-12-12
  • 打赏
  • 举报
回复
帮顶,真没想到好的方案。
碧波之心-old 2011-11-21
  • 打赏
  • 举报
回复
8楼的朋友,网页我进不去。我有这意向,请看我的自我介绍,以下是我在PHP100网站日志中写的自我介绍,不知道能否参加此行列。
http://bbs.php100.com/apps.php?q=diary&a=detail&did=2888
碧波之心-old 2011-11-21
  • 打赏
  • 举报
回复
我也有这样的苦恼
文章分页功能是实现了,但是遇到一个问题:在断开文本串后,如果遇到html标签后就会出现乱码,或者把标签分成两页显示。
望前辈指点,请写出实现处理串的关键代码和原理。谢谢!
图片:QQ截图20111120115534.jpg[删除]



图片:QQ截图20111120115739.jpg[删除]



以上就是第二页出问题的截图。 再寻求答案
testoktest 2008-10-07
  • 打赏
  • 举报
回复
这,接点分吧……
xskozil 2008-10-07
  • 打赏
  • 举报
回复
这个问题有点意思,
ihualan 2008-10-07
  • 打赏
  • 举报
回复
dedecms 就是自动分页的 可以去研究下
不过还是建议手动分 自动分很难做到完美

litqqs 2008-10-07
  • 打赏
  • 举报
回复
看这个分页, 楼主满意不?
http://www.e512.net/spliter/example/html_content.php
程序猿之殇 2008-10-06
  • 打赏
  • 举报
回复
人工智能分页难以完美呀.
你很难不破坏一些诸如table,div等标签.
lokiice 2008-10-06
  • 打赏
  • 举报
回复
人工分页是不太可能了,因为数据是从数据供应商那里直接拿来的

jeff1987 说的我也明白,我也是这样想的。但是数据中(其实是新闻内容啦)有时候单行数据很多(就那种列表式的),但是一行又没办法完全显示(1~2个字的折行 ...)如果按照这样判断的话会出现其他问题...
嘛,也管不了这些了,先照这思路试着做吧,顺便再风等有没有人提新的思路~
海诗美妆 2008-10-06
  • 打赏
  • 举报
回复

要向准确的分页,只能用人工。
人工分页的解决方法,有两种:
1.数据库按照分页形势保存
把不同页面的数据,按照分页的形势保存到数据库。
数据库调用的时候直接提取某页即可。
这种方法应该是最直接的,效率应该也是最高的。
2.通过标签分页
将整篇文章保存到一起,在文章中间想要分页的位置加入相应标签。
每次显示文章的时候,都要分析一下,然后把结果显示出来;或者将分析结果放入缓存,每次显示的时候直接调用。
这种方法如果是在将页面生成静态HTML还可以,动态显示的话,处理比较复杂,弄不好对性能有很坏的影响。
jeff1987 2008-10-06
  • 打赏
  • 举报
回复
想做到这个,你自己的大脑中必须要有一个分页的方案,
我的第一反应是:
查找与第1500个字符坚决最近的换行符!
然后考虑代码怎么实现!
1.先把所有的文本都读出来
2.获取所有的换行符的位置
3.判断每个换行符的位置与1500的倍数相差多少

.......

老弟,剩下的你考虑一下该怎么做,最主要的是要学会分析问题!

其实程序员写程序就是这样:

…… 建模--> 编码 -->调试-->建模-->编码-> ……
Best wishes!
yeah920 2008-10-06
  • 打赏
  • 举报
回复
帮忙顶一下,让了解的人来解答。
Go 旅城通票 2008-10-06
  • 打赏
  • 举报
回复
1-4比较难,人工分段比较好点,程序自动分段肯定不精确


怎么把HTML中显示的半角空格换成全角的?
---------
替换就好了
<?php
$str="ab def g";
echo $str."\n";
$str=str_replace(" "," ",$str);
echo $str."\n";z
?>
程序猿之殇 2008-10-06
  • 打赏
  • 举报
回复
我是在文章录入的时候,手动加上分页符的.
如果智能分页,要求注意的比较多呀.

lokiice 2008-10-06
  • 打赏
  • 举报
回复
还有,怎么把HTML中显示的半角空格换成全角的?
zgycsmb 2008-10-06
  • 打赏
  • 举报
回复
高手多呀
帮顶
接分。
海诗美妆 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lokiice 的回复:]
人工分页是不太可能了,因为数据是从数据供应商那里直接拿来的

jeff1987 说的我也明白,我也是这样想的。但是数据中(其实是新闻内容啦)有时候单行数据很多(就那种列表式的),但是一行又没办法完全显示(1~2个字的折行 ...)如果按照这样判断的话会出现其他问题...
嘛,也管不了这些了,先照这思路试着做吧,顺便再风等有没有人提新的思路~
[/Quote]

那就只能对特定长度的数据进行分页.
还有就是,分页之前,检测被分割点是否有句号.

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧