Informations

Cree le 04/02/2010

Modifie le 04/02/2010

Php

# Elfangels

#####

Participants

Pas de participants

Associations

Pas de dossiers associes

Limiter une chaine en PHP

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;
}