La fonction PHP suivante retourne les $word_limit premiers mots de $string.
Dans le cas où le nombre total de mots de $string est supérieur à $word_limit, je rajoute  [lire la suite] en fin de la chaine de retour de fonction, avec un lien passé en dernier paramètre de la fonction.

Réduction d’une chaîne à un nombre de mots donné

exemple 1 avec implode / explode :

function Reduire_Chaine($string, $word_limit, $lien)
{
  $string=strip_tags($string);
  $words = explode(' ', $string, ($word_limit + 1));
  if(count($words) > $word_limit){
    array_pop($words);$fin=' <a href="'.$lien.'">[lire la suite]</a>';
  }else
    $fin='';
  return implode(' ', $words).$fin;
}

exemple 2 avec preg_split :

function Reduire_Chaine_2($texte, $nb_mots = 10) {
  $mots = preg_split('/\s+/', trim($texte));
  if (count($mots) <= $nb_mots) {   
   return $texte; }
 return implode(' ', array_slice($mots, 0, $nb_mots)) . '...';
}
0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.