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 ."…"; //вывод анонса статей
В итоге мы получим следующий результат:
На закате солнца высоко над городом на каменной террасе одного из самых красивых зданий в Москве, здания, построенного около полутораста лет назад, находились двое: Воланд и Азазелло. Они не были видны снизу, с улицы, так как их закрывала от…
Rocks’n’Diamonds — представляет собой скроллинг Tile-based логическую компьютерную игру с элементами экшен. Поддерживает уровни из других аналогичных игр, в том числе Boulder Dash, Supaplex, Emerald Mine и Sokoban. Данная игра является свободно распространяемой. Создана компанией Artsoft Entertainment и дизайнером Holger Schemel. Первый релиз вышел в 1995 году. Игра написана на языке C++, использует графическую библиотеку SDL или Xlib(при…
Briquolo — игра-арканоид на трёхмерном цветном игровом поле. Она содержит 23 причудливых уровня с движущимися кирпичами, отличными взрывами и звуковыми эффектами, различными перспективами камеры, а также имеет встроенный редактор для создания ваших собственных уровней.
Игра Briquolo использует OpenGL для создания современных графических эффектов, и легко переносима, благодаря библиотеке SDL.
Программа Briquolo…
Textadept - минималистский программируемый текстовый редактор для разработчиков, близкий по идеологии и архитектуре к Emacs.
Свободно распространяется под лицензией MIT.
Textadept может быть запущен как с графическим, так и с текстовым интерфейсом. В качестве основного компонента редактор использует библиотеку Scintilla, для работы в текстовом режиме создатели Textadept написали вокруг scintilla специальную обёртку,…
KShisen — это игра «сисэн-сё» (Shisen-Sho), в которой игрок очищает игровое поле, убирая смежные пары фишек Маджонг.
Цель игры — убрать с поля все костяшки. За один ход можно убрать только одну пару, у которой совпадают рисунки. Убирать можно только те костяшки, которые можно соединить ломаной из не более чем трех отрезков. При этом отрезки могут быть только вертикальными или горизонтальными, но не…
Рассмотрим следующий пример:
$a=1;
$b='01';
if($a==$b) echo "При использовании == (1 пример)<br>";
if($a===$b) echo "При использовании === (2 пример)<br>";
При использовании == (1 пример)
В данном примере переменная $a представляет собой число, а $b — строку. Как числа переменные $a $b равны, но оператор === не только сравнивает два выражения, но также их типы, поэтому во втором примере переменные $a $b не…