Обрезка строки без разрыва слов на PHP

Довольно таки часто возникает надобность сделать обрезку строки так, чтобы не обрезать слово на половине. Такая надобность может возникать когда мы пишем свой блок в котором выводим кусок текста из блога.

Буквально недавно и у меня возникла потребность в такой функции, которую я написал на один клиентский сайт. Позже возникла идея поделиться и с вами друзья. Ведь такие функции они полезны и при этом не хочется тратить на них много времени, так как алгоритм работы как не пиши у всех будет одинаковый, максимум может отличаться какой-то мелочью.

Функция обрезки строки без разрыва слов

$text = 'Это текст, который мы будем обрезать после 50-ти символов. На самом деле количество символов может меняться на любое которое требуется вам';
function textCropper( $str, $maxLen ) {
    if ( mb_strlen( $str ) > $maxLen ) {
	preg_match( '/^.{0,'.$maxLen.'} .*?/ui', $str, $match );
	return trim($match[0]).'...';
} else {
	return $str;
	}
}
echo textCropper( $text, 50 ); // Это текст, который мы будем обрезать после 50-ти...

Вот выставил я функцию, и думаю, мол мне бы лично было этого недостаточно, нужно какое-то демо, типа чтобы можно было пощелкать, поклацать и так дальше, вот думаю, такая страница просто должна быть, потому переходим и тестим:

В принципе думаю сделал наглядно — у нас есть два входящих параметра, это сама строка, которую будем обрезать, ну и количество символов. Можем менять количество символов на какое угодно, главное не минусовое.

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

Если был полезным, то очень приятно было бы если ты поделился этой статьей со своими друзьями в соц. сетях.

Оставьте комментарий