Забавно наблюдать, как интернет полнится кучей хлама. Вот например, типичное решение задачи укоротить строку до значения длины не более заданного, разделив её по пробелу:
mb_substr($str,0,mb_strrpos(mb_substr($str,0,$size,’utf-8′),’ ‘,’utf-8′),’utf-8’);
или такое:
$string = mb_substr($string, 0, $length,’UTF-8′);
$position = mb_strrpos($string, ‘ ‘, ‘UTF-8’);
$string = mb_substr($string, 0, $position, ‘UTF-8’);
Авторы почему-то забывают, что если обрабатываемая строка меньше заданной длины, то она станет ещё короче, чем исходная, хотя по условию задания, она должна остаться такой, какая была. А это значит, что перед началом этих манипуляций со строкой не мешало бы проверить длину обрабатываемой строки и начинать её мурыжить только если она длиннее, чем требуется.