Правильное обрзезание … строки по пробелу

Забавно наблюдать, как интернет полнится кучей хлама. Вот например, типичное решение задачи укоротить строку до значения длины не более заданного, разделив её по пробелу:

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’);

Авторы почему-то забывают, что если обрабатываемая строка меньше заданной длины, то она станет ещё короче, чем исходная, хотя по условию задания, она должна остаться такой, какая была. А это значит, что перед началом этих манипуляций со строкой не мешало бы проверить длину обрабатываемой строки и начинать её мурыжить только если она длиннее, чем требуется.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *