limite string para as primeiras 5 palavras ou primeiros 42 caracteres em PHP
Se eu tenho uma string no PHP que é muito longa string no PHP e eu quero encurtá-lo e, em seguida, acrescentar algo a ele.
Eu quero encurtá-lo para as primeiras 6 palavras ou 42 caracteres, o que for mais curto e, em seguida, acrescentar um '...' a ele, se foi encurtado.
O único caso não seria encurtado e o '...' não adicionado seria se tivesse originalmente menos de 6 palavras ou 42 caracteres.
Como posso fazer isso em PHP?
Logicamente, eu acho que dividiria a string pelo espaço em branco e então adicionaria cada coisa antes do espaço em branco em uma matriz e pegaria apenas os 6 primeiros elementos dessa matriz e os gravaria em uma nova string.
Aqui está o código que tenho até agora:
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;
}
}
Eu não sei como fazer o resto para contagem de caracteres ou comparação ou anexação.
Alguém tem alguma idéia?