如何在PHP中截断UTF8字符串?
- 论坛
- 如何在PHP中截断UTF8字符串?
11 浏览
如何在PHP中截断UTF8字符串?
我的PHP代码中有一些字符串,如果它们太长,需要将其截断。
例如,如果一个文本如下所示:
嗨,我想告诉你这有多么美妙。
它会被替换为:
嗨,我想...
为此,我使用了一个简单的substr
。问题是,在UTF8中,某些字符实际上是两个字符长。我遇到了一个问题,即一个字符被截断了一半:例如,当我尝试将修改后的字符串插入数据库时,它崩溃了。
这是我当前的函数:
static function short($string, $max = 255){ if(strlen($string) >= $max){ $string = substr($string, 0, $max - 5).'...'; } return $string; }
有人知道如何使这个函数适用于UTF8字符吗?