Довольно таки часто возникает надобность сделать обрезку строки так, чтобы не обрезать слово на половине. Такая надобность может возникать когда мы пишем свой блок в котором выводим кусок текста из блога.
Буквально недавно и у меня возникла потребность в такой функции, которую я написал на один клиентский сайт. Позже возникла идея поделиться и с вами друзья. Ведь такие функции они полезны и при этом не хочется тратить на них много времени, так как алгоритм работы как не пиши у всех будет одинаковый, максимум может отличаться какой-то мелочью.
Функция обрезки строки без разрыва слов
$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-ти...
Вот выставил я функцию, и думаю, мол мне бы лично было этого недостаточно, нужно какое-то демо, типа чтобы можно было пощелкать, поклацать и так дальше, вот думаю, такая страница просто должна быть, потому переходим и тестим:
В принципе думаю сделал наглядно — у нас есть два входящих параметра, это сама строка, которую будем обрезать, ну и количество символов. Можем менять количество символов на какое угодно, главное не минусовое.
Для тех кому нужна эта штука, но лень ее копировать решил выставить возможность скачать, почему бы и нет, надеюсь будет полезная штука.
Если был полезным, то очень приятно было бы если ты поделился этой статьей со своими друзьями в соц. сетях.
Метки: php, программирование, работа со строками