Couper une chaine de caractères [Résolu]

Signaler
Messages postés
355
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
-
Messages postés
355
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
-
Bonjour,

Je me débrouille assez bien en php, mais il y a qqch que je maitrise peu, c est les chaines de caractères, et en fait, la j aurais besoin d'en modifier une, de faire des retours lignes, ...
En gros, j ai une variable $description qui fait max 500 caractères et je voudrais qu'apres mon bout de code, j'obtienne cette meme variable avec un
rajouté tous les 40 caractères environ (sans couper au milieu d'un mot!) et finalement, j'aimerais que si on dépasse les 160 caractères, il coupe la chaine et supprime tout ce qu il y a apres et mette "..." à la suite (toujours sans couper au milieu d'un mot).

Alors en fait, j ai regardé sur internet, et j ai trouvé un bout de code qui fait la derniere étape, mais je vois pas comment faire le reste, sans perdre des données...

Merci d'avance pour votre aide.

Voilà le bout de code en question:

<?php 

  // Nombre de caractère

  $max=160;

  if(strlen($chaine)>=$max)

  {

  // Met la portion de chaine dans $chaine

  $chaine=substr($chaine,0,$max); 

  // position du dernier espace

  $espace=strrpos($chaine," "); 

  // test si il ya un espace

  if($espace)

  // si ya 1 espace, coupe de nouveau la chaine

  $chaine=substr($chaine,0,$espace);

  // Ajoute ... à la chaine

  $chaine .= '...';

  }

?>

2 réponses

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Hello,

ce sera plus simple si tu utilises wordwrap( ) pour scinder ton texte, ensuite effectivement substr( ) pour couper un texte à 160 caractères, cf php.net.
à+
Messages postés
355
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 juin 2012
1
Super, merci, je connaissais pas cette fonction bien utile.