Raccourcir une chaine de caractères - Apprendre-PHP.com

Rechercher
Boutique en ligne, solution e-commerce, script PHP et PERL : RAYNETTE

Raccourcir une chaine de caractères

  • Par Emacs
  • 2 commentaires
  • 887 lectures
  • RSS -  Atom
ElePHPant El-Roubio

Voici une fonction très pratique qui permet de tronquer une chaine de caractères trop longue et de lui suffixer trois petits points. C'est très utile lorsque l'on désire afficher un résumé d'un texte.

La fonction raccourcirChaine() prend deux paramètres : le premier est la chaine de caractères dont il faut réduire la taille, et le second est la taille maximale de la nouvelle chaine tronquée.

Portion de code

Tronquer une chaine trop longue
<?php
 
/**
  * La fonction raccourcirChaine() permet de réduire une chaine trop longue
  * passée en paramètre.
  *
  * Si la troncature a lieu dans un mot, la fonction tronque à l'espace suivant.
  *
  * @param : string $chaine le texte trop long à tronquer
  * @param : integer $tailleMax la taille maximale de la chaine tronquée
  * @return : string
  */
function raccourcirChaine($chaine, $tailleMax)
{
// Variable locale
$positionDernierEspace = 0;
 
if( strlen($chaine) >= $tailleMax )
{
$chaine = substr($chaine,0,$tailleMax);
$positionDernierEspace = strrpos($chaine,' ');
$chaine = substr($chaine,0,$positionDernierEspace).'...';
}
 
return $chaine;
}
 
/** Exemple d'utilisation **/
$uneChaineTropLongue = 'Lorem Ipsum is simply dummy text of the printing and ';
$uneChaineTropLongue.= 'typesetting industry.';
 
echo raccourcirChaine($uneChaineTropLongue, 40);
?>

Les commentaires

1. Par Mickaël Wolff le lundi 19 novembre 2007 à 11:11

On peut aussi utiliser une expression normale. Par exemple, l'expression ^.{,20}\b correspondra avec les caractères du début de la chaine jusqu'à un délimiteur de mot (désigné par \b) dans la limite de vingt caractères.

2. Par Emacs le lundi 19 novembre 2007 à 13:01

Tu peux proposer la source depuis ton espace membre si tu veux. Les variantes d'un même script peuvent avoir leur place sur cet espace Emoticone clin d'oeil

Ajouter un commentaire

Votre avis
Se souvenir de mes informations