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