我的
PHP代码中有一些字符串,如果它们太长,需要被截断.
例如,如果文本是这样的:
Hi,I would like to tell you how wonderful this is.
它将用以下代替:
Hi,I would like to …
为此,我做了一个简单的substr.问题是在UTF8中有些字符实际上是两个字符长.而且我在中间剪切一个字符时遇到了一些问题:例如,当我尝试在数据库中插入修改后的字符串时,它会崩溃.
这是我目前的功能:
static function short($string,$max = 255){ if(strlen($string) >= $max){ $string = substr($string,$max - 5).'...'; } return $string; }
你需要的一切都是mb_strimwidth():
http://php.net/manual/en/function.mb-strimwidth.php
例:
mb_strimwidth('Hi,I would like to tell you how wonderful this is.',15,'...','utf-8');