0

我想在主页上显示文章的简短描述。描述是泰语和英语的混合。

我正在将此功能用于 strlen

mb_strlen($str, 'UTF-8');

但这并不准确,因为有些描述仅在一行中结束,有些则长达 3 行,我想显示两行的描述。

如果 strlen 大于 155 我会

$descr = mb_strlen($descr, 'UTF-8') > 155 ? substr($descr, 0, 152) . '...' : $descr;

谢谢你。

4

3 回答 3

5

Glyphs是字符的图形表示,在不同的字体中具有不同的宽度。只需比较mwith i


嗯嗯嗯嗯嗯嗯嗯iiiiiiiii

两个字符重复十次。但是 的字形m比 的字形宽得多i

因此,您无法从字符数(等宽字体除外)得出其图形表示的宽度。

于 2010-02-25T16:00:24.977 回答
2

substr在 utf-8 数据上使用是不安全的。采用mb_substr

于 2010-02-25T16:06:52.613 回答
0

如果您想阻止包含 3 行或更多行的条目,请先拆分字符串'\n',然后使用mb_substr

于 2010-02-25T16:08:25.387 回答