Cree le 04/02/2010
Modifie le 04/02/2010
Php




Pas de participants
Pas de dossiers associes
Limiter une chaine est souvent très utile pour afficher l'extrait d'une description par exemple. Une solution simple est de passer par la fonction subtr() mais elle coupe sans se soucier de garder les mots en entier. Voilà une petite fonction qui règle ce problème :
/**
* Fonction qui limite le nombre de caracteres d'une chaine
* @param $chaine string : chaine a traiter
* @param $longueur int : longueur maximale
* @param $strict booleen : (facultatif) les mots sont coupes ?
* @return string : chaine limitee
*/
function limite($chaine,$longeur,$strict=false) {
if(strlen($chaine) > $longeur) { // Si la chaine doit etre raccourcie
// On raccourcie la chaine
$chaine = substr($chaine, 0, $longeur-4);
// On retire le dernier mot coupe
if(!$strict && $posDerEsp = strrpos($chaine, ' ')) {
$chaine = substr($chaine, 0, $posDerEsp);
}
$chaine = $chaine.'...';
}
// Retourner la chaine
return $chaine;
}