= suffix length (%d).', $limit, $suffixLen), ); } if (mb_strlen($text) <= $limit) { return $text; } $cutLength = $limit - $suffixLen; $cut = mb_substr($text, 0, $cutLength); if ($wordBoundary) { $nextChar = mb_substr($text, $cutLength, 1); if ($nextChar !== '' && $nextChar !== ' ') { $lastSpace = mb_strrpos($cut, ' '); if ($lastSpace !== false) { $cut = mb_substr($cut, 0, $lastSpace); } } } return rtrim($cut) . $suffix; } }