我误解了strlen()吗?

时间:2016-04-26 03:17:52

标签: php strlen

我试图正确理解PHP中的strlen(),以创建一个缩短文本并使用...

完成文本的应用程序

我的代码:

  $prize_text = "Learn how to eat pizza TODAY";
          if (strlen($prize_text) > 24) {
        $prize_text = substr($prize_text, 0, 21) . '...';
        }

#1 Visual Aid

$prize_text = "Watch Good Day Sunshine Today!";

#2 Visual Aid

$prize_text = "abcdefghijklmnopqrstuvwxyz";

#3 Visual Aid

为什么一切都不匹配?我想要一个缩短文本的统一标准,然后添加三个点。我的代码出了什么问题?

2 个答案:

答案 0 :(得分:7)

错误的工作工具。你想要CSS来避免你遇到的破坏问题。

#element {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

<强>优点

  • 您可以随意隐藏/显示文本,而使用PHP,发送的文本已经在文档中呈现。
  • 适用于多种情况,而PHP则是硬编码的。

答案 1 :(得分:0)

strlen()计算字符串中的字符数,而不是视口上字符串占用的空间。您可以通过将所有字符设置为相同的小写(小写或大写)来制作相同的长度,以使所有字符串具有相同的宽度,您可以参考http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html