old.ubuntu-desktop.ru - Обрезка текcта на определенную длину (php) - PHP Главная > Веб-программирование > PHP
Обрезка текcта на определенную длину (php)
Для обрезки текста можно использовать функцию substr, просто указав начало отсчета (0) и количество символов после которого необходимо обрезать текст.
$text = substr($text,0,250);
Но для правильного обрезания текста лучше выполнить несколько условий, то есть убрать все html элементы, убедимся, что текст не заканчивается восклицательным знаком, запятой, точкой или тире и др.
Например у нас имеется исходный текст который необходимо обрезать:
$text = "На закате солнца высоко над городом на каменной террасе одного из самых красивых зданий в Москве, здания, построенного около полутораста лет назад, находились двое: Воланд и Азазелло. Они не были видны снизу, с улицы, так как их закрывала от ненужных взоров балюстрада с гипсовыми вазами и гипсовыми цветами, но им город был виден почти до самых краев. Воланд сидел на складном табурете, одетый в черную свою сутану; его длинная и широкая шпага была воткнута между двумя рассекшимися плитами террасы вертикально, так что получились солнечные часы. Тень шпаги медленно и неуклонно удлинялась, подползая к черным туфлям на ногах сатаны.";
$text = strip_tags($text); //уберём все html элементы
$text = iconv_substr($text , 0 , 250 , 'UTF-8' ); //обрежем текст на определённое количество символов, узазав кодировку UTF-8
$text = rtrim($text , "!,.-"); //убедимся, что текст не заканчивается восклицательным знаком, запятой, точкой или тире
$text = substr($text , 0, strrpos($text ,' ')); //находим последний пробел, устраняем его и ставим троеточие
echo $text ."…"; //вывод анонса статей
В итоге мы получим следующий результат:
На закате солнца высоко над городом на каменной террасе одного из самых красивых зданий в Москве, здания, построенного около полутораста лет назад, находились двое: Воланд и Азазелло. Они не были видны снизу, с улицы, так как их закрывала от…
Minetest — игра для Linux, являющаяся бесплатным клоном игры Minecraft. Вы играете от первого лица и перемещаетесь по трехмерному миру.
В Minetest игрок попадает на необитаемый остров, состоящий из кубических и не только «блоков», каждый из которых может быть разрушен или построен. Игроку предстоит исследование мира, столкновения с опасными врагами, создание инструментов из подручных…
Frogatto — очень увлекательная 2D аркада-платформер. В игре Вы управляете маленьким лягушонком проходя все новые уровни. Игра очень красочна и разнообразна, содержит много разных персонажей и объектов. Лягушонок умеет бегать, плавать, прыгать, ловить врагов языком и выплевывать их, стрелять, собирать монетки, разговаривать с персонажами игры и выполнять множество других действий.
Видео…
Deepin Terminal — эмулятор терминала разработанный командой создавшей дистрибутив Linux Deepin. Отличительной особенность терминала является приятный внешний вид, удобство и расширение возможностей.
Deepin Terminal умеет делиться по вертикали или горизонтали, переключать рабочие столы. Так же в этом терминале будет очень полезна функция настройки горячих клавиш. Помимо всего в терминале имеется поиск,…
MediaInfo — утилита, предназначенная для извлечения технической информации и других метаданных из звуковых и видеофайлов.Неполный список информации, которую MediaInfo может извлекать из медиафайлов:
Общие данные: заголовок, автор, дирижёр, альбом, номера треков, дата, длительность…
Видео: кодек, пропорции, частота кадров, битрейт…
Аудио: кодек, частота дискретизации, каналы, язык, битрейт…
Текст:…
FlareGet полнофункциональный, многопоточный, многосегментный менеджер загрузок для Linux.
Возможности программы:
HTTP-Pipelining;
Динамическая сегментация файлов: поддержка до 32 сегментов на загрузку
Автосегментация: когда заканчивается один сегмент, автоматически начинает загружаться следующий
Поддержка Flash-видео для «большинства сайтов и всех браузеров»
Поддержка возобновления загрузок
Умный…