Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP服务器端计算div中的文本行数_Php_Css_Server Side - Fatal编程技术网

在PHP服务器端计算div中的文本行数

在PHP服务器端计算div中的文本行数,php,css,server-side,Php,Css,Server Side,我遇到了一个奇怪的问题,我有一个问题。我从数据库中获取的文本没有字符限制。我试图实现的是,如果文本被放入div-width css属性中,那么行数是多少 宽度:600px 听起来很奇怪,但我需要管理这个服务器端,因为我将在样式打印到页面上之前安排样式,因此,如果服务器端计算的行数小于10,我将以某种方式进行安排,如果超过10,我将以另一种方式进行安排。是否有任何可能的方法获得此功能?检查功能。它以像素为单位计算字符串的宽度。首先从文本中删除新行,然后计算整个文本长度,然后输入600px。您将获得

我遇到了一个奇怪的问题,我有一个问题。我从数据库中获取的文本没有字符限制。我试图实现的是,如果文本被放入div-width css属性中,那么行数是多少

宽度:600px

听起来很奇怪,但我需要管理这个服务器端,因为我将在样式打印到页面上之前安排样式,因此,如果服务器端计算的行数小于10,我将以某种方式进行安排,如果超过10,我将以另一种方式进行安排。是否有任何可能的方法获得此功能?

检查功能。它以像素为单位计算字符串的宽度。首先从文本中删除新行,然后计算整个文本长度,然后输入
600px
。您将获得行计数。 但这不是建议的方式。最好尝试使用css或javascript来执行此功能。它以像素为单位计算字符串的宽度。首先从文本中删除新行,然后计算整个文本长度,然后输入
600px
。您将获得行计数。
但这不是建议的方式。最好尝试使用css或javascript进行此操作

不要在服务器端执行此操作。有一些可枚举的客户端设置和选项会影响这一点,而服务器端解决方案在所有情况下都无法正常工作。使用JavaScript,根据渲染高度除以行高度来计算行数是很简单的

var lines = $('#somediv').height() / $('#somediv').css('line-height');

不要在服务器端执行此操作。有一些可枚举的客户端设置和选项会影响这一点,而服务器端解决方案在所有情况下都无法正常工作。使用JavaScript,根据渲染高度除以行高度来计算行数是很简单的

var lines = $('#somediv').height() / $('#somediv').css('line-height');

行数还取决于文本的字体类型、字体大小和字母间距等。因此,我不会遵循此解决方案,因为客户端上有太多未知项,所以在交付和在浏览器中呈现之前无法准确检查行数。@Daxcode感谢您的提醒。字体大小:14px,字体系列:Arial。@gosukiwi很遗憾。在推送到客户端之前,必须先进行计算。@rolandbishop为什么你以前必须知道这一点?如果用户手动增加或减少浏览器中的字体大小,行数将再次更改…@Daxcode初始计算后,这无关紧要。行数还取决于文本的字体类型、字体大小和字母间距等。因此,我不会遵循此解决方案,因为客户端上有太多未知项,所以在交付和在浏览器中呈现之前无法准确检查行数。@Daxcode感谢您的提醒。字体大小:14px,字体系列:Arial。@gosukiwi很遗憾。在推送到客户端之前,必须先进行计算。@rolandbishop为什么你以前必须知道这一点?如果用户手动增加或减少浏览器中的字体大小,行数将再次更改…@Daxcode初始计算后,这无关紧要。感谢您的快速响应。我现在就去检查!谢谢你的快速回复。我现在就去检查!