Limite la cadena a las primeras 5 palabras o los primeros 42 caracteres en PHP
Si tengo una cadena en PHP que es obviamente una cadena larga en PHP y quiero acortarla y luego añadirle algo.
Quiero acortarlo a las primeras 6 palabras o 42 caracteres, lo que sea más corto y luego agregarle un '...' si se acortó.
El único caso no se acortaría y el '...' no se agregaría si originalmente tuviera menos de 6 palabras o 42 caracteres.
¿Cómo puedo hacer esto en PHP?
Lógicamente, creo que dividiría la cadena por espacio en blanco y luego agregaría cada cosa antes del espacio en blanco en una matriz y tomaría solo los primeros 6 elementos de esa matriz y los escribiría en una nueva cadena.
Aquí está el código que tengo hasta ahora:
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;
}
}
No sé cómo hacer el resto para el recuento de personajes, comparación o anexión.
¿Alguien tiene alguna idea?