1

PHP中有没有办法计算给定宽度和给定行高的字符串的行数?

例如,如果我有这个文本:
Sed eget lorem lorem。Pellentesque tristique,quam vel fringilla porttitor,
neque elit suscipit nisl,id posuere magna libero congue ante。
= 2 行

sed eget lorem lorem。Pellentesque
tristique,quam vel fringilla
porttitor,neque elit suscipit nisl,
id posuere magna libero congue ante。
= 4行因为宽度不一样

编辑:我的问题不清楚。
正如 Jason McCreary 所说,我想用 PHP 创建一个公式(基于字体大小、字符串长度、行高),这会让我很接近。

如果有人能把我送到正确的方向去做,我会很感激,因为我试图创造那个神奇的公式,但没有结果。

我无法在页面中使用 JavaScript。

谢谢!!!!

4

3 回答 3

4

最后这是我所做的:

$charWidth = 5.6;
$divWidth = 550;

$wrappedContent = wordwrap($originalContent, ($divWidth / $charWidth), "\r\n");
$explodedLines = explode("\r\n", $wrappedContent); 
$nbOfLine = count($explodedLines);

echo $nbOfLine;

不用说这是非常近似的。

于 2012-05-24T18:00:39.363 回答
3

不,PHP 是一种服务器端技术。它不知道生成的 HTML 渲染。

相反,您可以:

  • 使用 JavaScript。这是一种客户端技术,将提供更好的结果。
  • 使用 PHP 创建一个公式(基于字体大小、字符串长度、行高),让您接近.

更新

查看 和 之类的函数strlen()substr_count()以帮助您开始使用 PHP 公式。它们将分别帮助处理行长和行数。line-height 和 font-size 应该是恒定的。

于 2012-05-23T17:16:12.347 回答
0

你可以只用 CSS

<div style="width: 10em; height: 1.2em; overflow: hidden; text-overflow: ellipsis;">
Now a long woooooooooooooooooooooooooooooooord
</div>
于 2017-10-07T00:06:17.447 回答