将文本从xml文件分页到html页面

时间:2010-07-10 21:10:07

标签: php html xml xslt

O.K。所以我正在开发一个网站来展示我的小说着作。我将所有文档都放入XML文件中,使用PHP从服务器中提取并解析它们并在页面上显示它们。您可以访问页面here for an example.

正如背景图片所暗示的那样,我想要做的是将文本分成两列,(第一次溢出到第二列的文本),然后允许溢出分页,以便没有必要的滚动。换句话说,我希望根据XML文档正文的长度,将文本作为一本书进行阅读。

我希望使用PHP或类似的东西在服务器端完成此操作。有没有办法用xsl样式表或服务器端脚本来做到这一点?我一直在寻找无处不在的东西。

感谢任何帮助。

先生。突变体

1 个答案:

答案 0 :(得分:1)

这一般是一个非常难以解决的问题,如果您尝试在服务器上执行此操作,那么您将无疑会遇到麻烦。分页HTML文本的问题在于分页的位置完全取决于客户端。服务器不知道客户端的屏幕分辨率,字体选择或窗口大小,除文本本身外,这些是问题的因变量。

如果在这一点上没有一些jQuery库只是这一点,我会感到惊讶,但是当我不得不在7年前自己实现它时,我采取的方法是:

为每列创建div。每一个都包含整个文档文本。使用固定的行高设置div的样式。将列div的底部放在文档的z顺序中。现在您可以布局页面的其余部分,在div可以显示的布局中留下已知大小的孔,并通过操纵每个div的垂直位置,您可以控制哪条线是第一个出现在给定的洞内。

然后您可以让客户端操纵字体大小,只要您重新计算孔的高度然后正确地重新定位div,它就会神奇地起作用。

在HTML5中可能有更简单的方法;我肯定会调查一下。