诚请教内容分页的智能切割方法

发哥 2009-06-28 10:23:59
最近做一个内容分页的小CASE,即对一段HTML文本按字符数进行分页。
目前分页基本实现了,但这个分页是以字符数的多少为切割判断的,这样的缺点是
1、会把内容中的代码强行拆离,如<div><p><span>等元素一旦没有闭合,整个网页就会凌乱不堪。
2、不能达到按行分页的效果,往往是达到指定字符数,可事实上这是一个段落却被切成了两段,显然不符合目标要求。

现请各位大侠给予指导,应如何处理才能达到目标,实现标签闭合不会被切断,且按行分页。
...全文
80 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
XP_Print 2009-12-13
  • 打赏
  • 举报
回复
曾经滤掉所有标签、Style、Script,当然替换掉<br />,再按字数分页。
以牺牲样式为代价,保护内容的分页。
honey52570 2009-06-28
  • 打赏
  • 举报
回复
还是手工分页比较好,手工插入分页符
jinder 2009-06-28
  • 打赏
  • 举报
回复
不过你可以试着将HTML显示后的结果进行分页,而不要在HTML源码上进行分页,如果你的目的是要在源码上分页,那也不过是简单的文本显示,应该不至于像你说的"整个网页就会凌乱不堪"吧.
jinder 2009-06-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 wwwwzf 的帖子:]

2、不能达到按行分页的效果,往往是达到指定字符数,可事实上这是一个段落却被切成了两段,显然不符合目标要求。

[/Quote]

要按行分页不难吧,以行为单位去分就行了,就好比是每多少行分一页.
不过即使实现了按行分页也很难保证前后标签闭合,比如说<body></body>,这个是包括整个网页内容的,如果内容多的话,这个标签不大可能在一页中闭合,除非缩减内容,或是修改HTML页面原代码,在HTML原代码中就将其分为两个以上的页面去显示.
发哥 2009-06-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]
在添加内容时,添加分页标签。通过标签分割数据
或添加内容是分页添加内容参考IWMS
[/Quote]

抱歉,我们要实现的是智能分页,而不是手工分页.IWNS并无此功能.
目前在Zoomla!逐浪CMS已经实现了此部份功能,但感觉算法太复杂,故来征集此贴.
发哥 2009-06-28
  • 打赏
  • 举报
回复
还要补充一点的是,用JS可以实现这样的智能分页,但生成HTML时又应如何处理?
wuyq11 2009-06-28
  • 打赏
  • 举报
回复
在添加内容时,添加分页标签。通过标签分割数据
或添加内容是分页添加内容参考IWMS
longhui666888 2009-06-28
  • 打赏
  • 举报
回复
没做过,关注下
jinder 2009-06-28
  • 打赏
  • 举报
回复
每行都有个换行符吧,凭借换行符来实现以行为单位.

到了页尾如果碰到未闭合的情况再做特殊处理,模仿WORD里的图片,无法在这一页完全显示时就整幅放到下一页开头显示.
发哥 2009-06-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jinder 的回复:]
引用楼主 wwwwzf 的帖子:

2、不能达到按行分页的效果,往往是达到指定字符数,可事实上这是一个段落却被切成了两段,显然不符合目标要求。




要按行分页不难吧,以行为单位去分就行了,就好比是每多少行分一页.
不过即使实现了按行分页也很难保证前后标签闭合,比如说 <body> </body>,这个是包括整个网页内容的,如果内容多的话,这个标签不大可能在一页中闭合,除非缩减内容,或是修改HTML页面原代码,在HTML原代码中就将其…
[/Quote]

我所想的标签闭合主要是<b><p><span><div>这类标签闭合,从而实现内容上分页.
以行为单位,是不是要确定一行多少个字?这样显然无法达到目标需求......

确实很郁闷

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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