-
03-07-2019 - |
题
我工作上的信息仓库网站用于艾滋病毒预防。很多的合作者将张贴的文章通过介绍。
该图形设计师的当然想要控制页长度。他们会像自动分页基础上的高度的内容在网页。
任何人看出阿贾克斯的代码来管理这个吗?
禁止任何人都看到PHP的代码可以做到一字符数和一个看守regex,以避免分裂的话或标签?
任何链接非常感谢!
解决方案
如果它不需要精确,那么就没有理由不能使用简单的字数统计功能来确定打破页面的适当位置(在我猜的最近的段落)。你甚至可以根据帖子中是否有图像来减少每页的单词数,甚至考虑到图像的大小。
虽然这可能会变得很难看,但我认为最好的方法是允许他们在您可以解析的文章中手动设置带有标签的页面分隔符。像[pagebreak]这样的东西非常简单,你会得到比任何自动化解决方案都要多得多的逻辑和可读的分页符。
其他提示
您不必担心字符数,如果您的页面中有图像或任何其他类型的嵌入对象可以占用高度,您还必须担心图像高度。字符计数也不会让您了解段落结构(单个长段落的字符数多于具有多个段落的页面可能更短)。
如果您愿意使用JavaScript,这可能是理想的解决方案,请将整篇文章发布到客户端,让JavaScript处理分页。从客户端,您可以检测图像和对象的高度。你可以使用PHP来设置你认为页面应该在哪里的标记,然后使用JavaScript来实现它。除非页面很长,否则我认为你不需要做几个xmlHttpRequests(AJAX)。
对于一个简单的PHP解决方案也很简单,但可能并不理想,因为您没有处理管理行数的问题。您可以使用GET变量来确定您在页面中的位置。
虽然这可能不是您正在寻找的确切答案,但您应该确保您的网站没有固定的高度。灵活的宽度非常好,但不像高度那么重要。
特别是对于这样的原因,以及内容沉重的网站;要求灵活的高度是公平的。
正如apphacker所提到的,你无法真正从PHP中检测到高度,而且你有点被javascript困住了。如果你完全坚持使用分页,最好让你的内容作者决定何时中断页面,这样你就可以在一个真实的部分打破它,而不是中间的单词,句子等等。
编辑:可用性应该决定设计,而不是相反。你做错了;)
一个很好的页码不是一个简单的任务。这不是一个简单的问题编码。科学研究通过难忘记(1981)证明了最佳的网页破是在一般NP-难。你应该担心的浮动数字,断行,不同的字体样式等等。
而唯一一个HTML引擎可以帮助你分析一页DOM树。什么尺寸?是的你可能有的字体的宽度和字体高度,利润和垫、图画大小。但那是全部。所有的布局是你的肩膀上。这样做在javascript...咩...
所以唯一可行的解决方案的自动固定的高度分页将是一个服务器的一侧。PrinceXML是目前最好的HTML2PDF转换器。但是它费用很大。
如果你正好有不同页上的高度,可以使用epalla的建议。但是,这还不简单,因为它似乎。
一些参考文件分页: