Couper une chaine de caractères

Résolu
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 24 mars 2008 à 13:42
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 24 mars 2008 à 14:15
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

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
24 mars 2008 à 14:12
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.
à+
3
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 mars 2008 à 14:15
Super, merci, je connaissais pas cette fonction bien utile.
0
Rejoignez-nous