2

我在 PHP 中有一个小写字符串,文本框中的值为“nbalamuruganbala”。我想在一定数量的字符后剪切字符串并在剪切它的位置添加暂停点。这样,如果字符串长于 10 个字符,则会被剪切并附加暂停点。

我使用 10 个字符作为截断字符串的阈值。这适用于小写字符串(例如 nbalamurugan..),但不适用于大写字符串(例如“NBALAMURUGAN..”),因为大写字符占用更多空间并且字符串结果比文本框长。

这是我的代码:

 $astname="nbalamuruganbala";
                if (strlen($astname) > 10)
                {
                    $astname = substr($astname, 0, 10);
                    $astname = $astname."..";
                }
4

3 回答 3

0

在剪切文本区域中显示的字符串之前,只需对字符数使用较低的阈值(例如,最多 8 个)。这应该在大多数情况下独立于大写或小写字符串工作。

但是,请记住,在处理 Web 内容时,您永远不应该考虑字符数。因为每个字符之间的间距可能会根据操作系统、浏览器的默认字体、客户端的屏幕分辨率等而有所不同......

例如,一种更优雅的方法是在文本区域应用一种添加颜色渐变(从透明到背景颜色)的 CSS 样式,以便在视觉上剪切文本区域中的字符串并与背景混合。

于 2013-07-04T10:29:57.300 回答
0

您可以做两件事 1. 将所有文本显示为小写 2. 您可以减少字符数。正如您所说,它会影响其他项目,因此减少字符的显示会很好。

于 2013-07-04T10:27:00.657 回答
0

尝试这个

$str = "nbalamuruganbala";
if(strlen($str) > 12){
    $new = strtoupper(substr($str, 0,12))."..";
}
于 2013-07-04T10:17:42.283 回答