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 }