Обрезать текст можно по-разному. Самая простая функция-это
substr.
Этой функции нужно передать 3 аргумента. Первый-сама строка,второй-с какого символа начать обрезать текст(нумерация начинается с нуля), и третий-сколько символов обрезать.
$a = 'English Message';
echo $b;//Выведет 'English'
echo $c;//Выведет 'Message'
С русским текстом такая функция не всегда прокатит, поэтому нужно использовать
mb_substr. Работает она точно также.
$a = 'Сама строка,которую нужно обрезать.';
echo $b;//Выведет 'Сама'
echo $c;//Выведет 'строка'
Если мы хотим добавить многоточие в том случае, когда строка обрезана - то нужно сравнить длину строки с длинной обрезаемого текста.
$a = 'Сама строка,которую нужно обрезать.';
$lenght = 5;
$b .= '...';
}
echo $b;
Где $lenght - длинна обрезаемого текста.
Или просто сравнить исходную строку и обрезанную. Но это частный случай.
$a = 'Сама строка,которую нужно обрезать.';
if ($a != $b) {
$b .= '...';
}
echo $b;
Чтобы обрезать по пробелу, то есть взять например 5 первых слов-то строку следует разделить по пробелам и взять первые 5 элементов.Вот так:
$str='Этот текст имеет большое количество
пробелов и состоит из нескольких слов';
//разбиваем на массив
//берем первые 6 элементов
//превращаем в строку
// Если необходимо добавить многоточие
if (count($arr_str) > 6) { $new_str .= '...';
}
echo $new_str;//Выведет 'Этот текст имеет большое количество пробелов и...'
Ну и чтоб просто добавить в конце любой строки многоточие-можно дописать точки так:
$str = 'My string';
$str .= '...';
echo $str;//Выведет 'My string...'