Для обрезки текста можно использовать функцию 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 ."…"; //вывод анонса статей
В итоге мы получим следующий результат:
На закате солнца высоко над городом на каменной террасе одного из самых красивых зданий в Москве, здания, построенного около полутораста лет назад, находились двое: Воланд и Азазелло. Они не были видны снизу, с улицы, так как их закрывала от…