ограничить строку первыми 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;
    }
}

Я не знаю, как сделать остальное для подсчета символов, сравнения или добавления.

У кого-нибудь есть какие-либо идеи?

Ответы на вопрос(4)

Ваш ответ на вопрос