使用php获取两个偶数列的文本

时间:2011-07-27 16:41:21

标签: php

有没有人知道使用php创建偶数文本列的聪明方法?

所以我想说我有几段文字,我想将它分成两列均匀长度(不是字符串长度,我说甚至可见长度)。

目前我正在根据字数进行分割,这(你可以想象)效果不佳。例如,在一个页面上我有一个列表(ul li样式),它增加换行符但不增加单词计数。例如:发生的事情是左列(其中包含列表)明显长于右列(如果右栏中有列表,那么反过来就会相同)。

那么有没有人有一种聪明的方法来分割文字?例如,使用我对目标c的知识,存在“适合大小”的功能。我知道列的范围有多宽,所以有没有办法把它和字符串,并计算出它的高度?然后把它切成两半?或类似的?

由于

ps:请不要css3废话,我们的目标浏览器早在ie6(不寒而栗)。 :)

2 个答案:

答案 0 :(得分:1)

我知道你正在寻找一个PHP解决方案,但由于行数将取决于它在浏览器中的呈现方式,因此你需要使用一些javascript。

您基本上需要知道文本所在容器的尺寸,并使用高度除以文本的行高,您将获得行数。

这是使用jQuery的小提琴:http://jsfiddle.net/bh8ZR/

答案 1 :(得分:0)

此处关于源数据的信息不多。但是,如果您知道有20行数据,并希望将其拆分,为什么不简单地使用显示行数组,然后除以2。然后你可以拿到PHP数组的前半部分,当你达到第一列的极限时,将它推入第二列。

我认为您将无法在Web浏览器中显示这些列并且具有一致的外观和感觉,因为您正在尝试将简单的编程逻辑应用于可视布局。 CSS和jQuery旨在帮助布局问题。 jQuery确实具有IE6兼容性。

如果您在尝试显示的数据中包含HTML格式,我真的不认为您会在这里找到灵丹妙药。浏览器将根据很多变量来渲染它。页面宽度,字体大小等。这正是CSS和其他布局样式的原因,以处理这种格式。

你有没有理由不在浏览器而不是PHP中解决这个问题?对我来说IE6并不是一个足够强大的案例,不能在它所属的地方这样做。