ограничить строку первыми 5 словами или первыми 42 символами в PHP
Если у меня есть строка в PHP, которая является ужасно длинной строкой в PHP, и я хочу сократить ее, а затем добавить что-то к ней.
Я хочу сократить его до первых 6 слов или 42 символов, что бы ни было короче, а затем добавить к нему «...», если оно было сокращено.
Единственный случай, когда он не будет сокращен, а «...» не будет добавлен, если он изначально был меньше 6 слов или 42 символов.
Как я могу сделать это в PHP?
Логически, я бы подумал, что я бы разделил строку на пробелы, а затем добавил каждую вещь перед пробелами в массиве, взял бы только первые 6 элементов из этого массива и записал бы их в новую строку.
Вот код, который у меня есть:
str_1 = 'The quick brown fox jumped over the lazy dog';
$words = explode(" ", $str_1);
$counter = 0;
str_2 = '';
foreach($words as $word){
if($counter < 5){
//append $words[counter] to str_2;
counter++;
}
else{
break;
}
}
Я не знаю, как сделать остальное для подсчета символов, сравнения или добавления.
У кого-нибудь есть какие-либо идеи?