Limiter le nombre de caractères

21 janvier 2013 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

Lorsqu’on réalise un site, il arrive parfois d’avoir besoin de limiter le nombre de caractères qui va être affiché sur le site.

Cette fonction utilise les propriétés strlen / substr / strrpos

La fonction prend en paramètre la chaine de caractère et également le nombre maximum de caractère souhaiter. Le nombre de caractère n’est pas obligatoire, par défaut : 215

function limite_caractere($chaine,$max=215){
	// on enlève les balises html
	$chaine = strip_tags($chaine);

	// on compte si le nombre de caractère est supp ou égale a max
    if (strlen($chaine) >= $max)
    {
    	// on prend la chaine de 0 à max
        $chaine = substr($chaine, 0, $max);
        // on regarde ou se trouve le dernier espace dans la chaine
        $espace = strrpos($chaine, " ");
        // on prend la chaine de 0 au dernier espace et on ajoute ...
        $chaine = substr($chaine, 0, $espace)." ...";
    }
    echo $chaine;
}

Et si maintenant on veut limiter par nombre de mots ?

function limite_mot($chaine,$max=10){
    // on enlève les balises html
    $chaine = strip_tags($chaine);

    // on casse la chaine par les espaces et retourne un array avec chaque mot
    $expl = explode(" ",$chaine);

    // si l'array est plus grand que la valeur max
    if(count($expl) >= $max){
        $i = 0;
        $chaine = "";

        // on boucle pour n'afficher que le nombre souhaité
        while($i < $max){
            // on ajoute le mot suivi d'un espace à la variable
            $chaine.= $expl[$i]." ";
            $i++;
        }
    }
    echo $chaine; // on affiche la chaine
}

 

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories