Установи Linux! Стань свободным!
Онлайн всего: 1 | Посетители: 0 | Боты: 1
Дата 07.02.2026 Время: 08:16
Ваш IP: 216.73.216.140
Загрузка сервера: 0.2
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 ."…"; //вывод анонса статей

В итоге мы получим следующий результат:

На закате солнца высоко над городом на каменной террасе одного из самых красивых зданий в Москве, здания, построенного около полутораста лет назад, находились двое: Воланд и Азазелло. Они не были видны снизу, с улицы, так как их закрывала от…

Рейтинг
<< Предыдущая статьяСледующая статья >>
  2017-08-11 12:30:51 | liman28 | Категория: PHP | Просмотров: 50
Комментарии
E-mail (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   SCROT — УТИЛИТА ПОЗВОЛЯЮЩАЯ ДЕЛАТЬ СКРИНШОТЫ ЭКРАНА ПРИ ПОМОЩИ ТЕРМИНАЛА
Scrot — утилита позволяющая делать скриншоты экрана при помощи терминала. Scrot как и аналогичные программы с графическим интерфейсом может делать снимки с задержкой по времени, а так же делать снимки выделенной области. Перед тем как делать снимок экрана при помощи утилиты Scrot, можно задать папку в которой будут сохранены снимки, если этого не сделать то снимки будут сохранятся в текущей…
  2017-08-11 17:48:15 | Категория: Команды терминала
   Не запускается OPENSHOT (Ubuntu 15.10)
OpenShot Video Editor — это свободный нелинейный видеоредактор с открытым исходным кодом для Linux, построенный с помощью Python, GTK и MLT Framework. Проект был основан в августе 2008 года Джонатоном Томасом, с целью предоставления стабильного, свободного и простого в использовании видеоредактора. После очередного обновления видеоредактор Openshot перестал запускаться, при запуске программы через терминал возникает…
  2017-08-13 10:19:45 | Категория: Система
   Установка, удаление, переустановка пакетов в Ubuntu
Для удаления программ можно воспользоваться терминалом, для установки пакета из репозитория необходимо сделать следующее: sudo apt-get install имя пакета для удаления: sudo apt-get remove имя пакета для удаления пакета со всеми файлами настроек: sudo apt-get --purge remove имя пакета Чтобы переустановить пакет введите следующую команду: sudo apt-get install --reinstall имя…
  2017-08-01 07:31:35 | Категория: Команды терминала
   МОРСКОЙ БОЙ
«Морской бой» — игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им карте соперника. Если у соперника по этим координатам имеется корабль (координаты заняты), то корабль или его часть «топится», а попавший получает право сделать ещё один ход. Цель игрока — первым поразить все корабли противника. В игру «Морской бой» можно играть одному…
  2017-08-11 09:00:48 | Категория: Игры
   AssaultCube — трёхмерный шутер от первого лица
AssaultCube — трёхмерный шутер от первого лица, основанный на движке Cube. В основном предназначен для игры по сети, но присутствует возможность играть с ботами. Ранние релизы игры выходили под названием ActionCube. AssaultCube доступен для бесплатной загрузки, поддерживаются Linux, MS Windows и Mac OS. Весь код, включая движок Cube, открыт, однако некоторые игровые ресурсы проприетарны. AssaultCube…
  2017-08-02 14:43:04 | Категория: Игры

Вверх