I have some strings in my PHP code that need to be truncated if they are too long.
For example if a text is something like this:
Hi, I would like to tell you how wonderful this is.
It would replace it with this:
Hi, I would like to ...
For that I've done a simple substr. The problem is that in UTF8 some characters are actually two characters long. And I've had some problems with a character being cut in the middle: For example, when I try to insert the modified string in the database, it crashes.
Here is my current function:
static function short($string, $max = 255){ if(strlen($string) >= $max){ $string = substr($string, 0, $max - 5).'...'; } return $string; } Would someone know a way to make this function work even for UTF8 characters?
https://api.drupal.org/api/drupal/includes!unicode.inc/function/truncate_utf8/7s($str)->truncate($length)ands($str)->truncateSafely($length)helpful, as found in this standalone library. Both versions are Unicode-safe. The latter does not break words.