ogranicz ciąg do pierwszych 5 słów lub pierwszych 42 znaków w PHP

Jeśli mam w PHP ciąg znaków, który jest nieprzyjemnie długi w PHP i chcę go skrócić, a następnie dodać do niego coś.

Chcę skrócić go do pierwszych 6 słów lub 42 znaków, cokolwiek jest krótsze, a następnie dodać do niego „...”, jeśli zostało skrócone.

Jedyny przypadek, w którym nie zostałby skrócony, a „...” nie zostałoby dodane, to gdyby był pierwotnie mniej niż 6 słów lub 42 znaki.

Jak mogę to zrobić w PHP?

Logicznie myślę, że podzieliłbym ciąg za pomocą białej przestrzeni, a następnie dodałem każdą rzecz przed białą spacją w tablicy i zabrałbym tylko 6 pierwszych elementów z tej tablicy i zapisałem je na nowym łańcuchu.

Oto kod, który mam do tej pory:

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;
    }
}

Nie wiem, jak zrobić resztę dla liczenia znaków, porównywania lub dołączania.

Czy ktoś ma jakieś pomysły?

questionAnswers(4)

yourAnswerToTheQuestion