Обрезать текст можно по-разному. Самая простая функция-это substr.
Этой функции нужно передать 3 аргумента. Первый-сама строка,второй-с какого символа начать обрезать текст(нумерация начинается с нуля), и третий-сколько символов обрезать.
$a='English Message';
$b=substr($a,0,7);
echo $b;//Выведет 'English'
$c=substr($a,8,7);
echo $c;//Выведет 'Message'
С русским текстом такая функция не всегда прокатит, поэтому нужно использовать mb_substr. Работает она точно также.
$a='Сама строка,которую нужно обрезать.';
$b=mb_substr($a,0,4);
echo $b;//Выведет 'Сама'
$c=mb_substr($a,5,6);
echo $c;//Выведет 'строка'
Чтобы обрезать по пробелу, тоесть взять например 5 первых слов-то строку следует разделить по пробелам и взять первые 5 элементов.Вот так:
$str='Этот текст имеет большое количество
пробелов и состоит из нескольких слов';
//разбиваем на массив
$arr=explode(" ",$str);
//берем первые 6 элементов
$arr=array_slice($arr,0,6);
//превращаем в строку
$new_str=implode(" ",$arr);
echo $new_str;//Выведет 'Этот текст имеет большое количество пробелов'
Ну и чтоб добавить вконце троеточие-можно дописать три точки так:
$str='My string';
$str.='...';
echo $str;//Выведет 'My string...'