Page 1 sur 1

Récupérer les 3 premiers mots de plus de 4 caractère dans une chaîne

Posté : 31 mars 2017, 15:01
par yule
Bonjour,

J'essaye sans arriver (et pas trouver d'exemple par ici et par là...)

Je souhaiterais récupérer les 3 premiers mots ayant 4 ou plus de caractères d'une chaine pour les couper à 4 caractères et y ajouter une *

$words = "ver manger pomme montre été vin piscine";

//$word1 = explode(' ', $words);

echo chunk_split($words1,4,'* ');  // => ver* ma*nge*r p*omm*e m*ont*re *ét*é *vin* pi*sci*ne*

//$asterix = implode('* ', $word1);
//echo $asterix; // => ver* manger* pomme* montre* été* vin* piscine

// le résultat souhaité, trouve les 3 premiers mots de plus ou égal à 4 caractères, les couper et y ajouter un *
//$wordend = "mang* pomm* mont*";

Donc pour ceci; ver manger pomme montre été vin piscine
j'aimerais y afficher ceci : mang* pomm* mont*

D'avance merci pour votre aide
Yule

Re: Récupérer les 3 premiers mots de plus de 4 caractère dans une chaîne

Posté : 31 mars 2017, 15:19
par or 1
$words = "ver manger pomme montre été vin piscine";
$s = " ";
$i = 0;
foreach(explode(' ', $words) as $w){
  if(strlen($w) > 3){
    $s .= substr($w, 0, 4)."* ";
    $i++;
  }
  if($i == 3)
    break;
}
$s = trim($s);
echo $s;

Re: Récupérer les 3 premiers mots de plus de 4 caractère dans une chaîne

Posté : 31 mars 2017, 18:29
par yule
Extra ! Merci bien