• Главная
  • Услуги и цены
  • Портфолио
  • Блог
  • Контакты
ABVV
  • Главная
  • Услуги и цены
  • Портфолио
  • Блог
  • Контакты

Обрезка строки до нужной длины на PHP

Чтобы усечь длинную строку до нужно длины, не разрывая слов на части, используем функцию:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
 $str - исходная строка
 $lenght - желаемая длина результирующей строки
 */

function cutStr($str, $lenght = 100, $end = ' …', $charset = 'UTF-8', $token = '~') {
    $str = strip_tags($str);
    if (mb_strlen($str, $charset) >= $lenght) {
        $wrap = wordwrap($str, $lenght, $token);
        $str_cut = mb_substr($wrap, 0, mb_strpos($wrap, $token, 0, $charset), $charset);  
        return $str_cut .= $end;
    } else {
        return $str;
    }
}

Вызывается так:

1
2
3
$str = 'Исходный текст, который будем обрезать';
echo cutStr($str, 10);
// Получим "Исходный ..."