Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

substr() - Tronquer un texte

Tutoriaux > PHP / MySQL > substr() - Tronquer un texte

substr() - Tronquer un texte
Dans ce tutoriel, vous allez apprendre à tronquer un texte en PHP.

Salut à tous, bienvenue sur mon premier tuto PHP !

Vous allez apprendre à "couper" un texte après un certain nombre de caractères (Oui je sais, c'est déjà dit dans la description, et alors ? :þ ). C'est pas bien compliqué, ne vous inquiétez pas !

Exemple d'utilisation :
-Aidoforum, les news sur l'accueil .

Connaissance requise :
-Les bases du PHP .

Si vous êtes prêts, on commence !

Commencez par créer un nouveau document PHP, et ouvrez la balise "<?php" (ou "<?" , c'est selon les goûts :þ ) .
Écrivez votre chaîne dans une variable .


<?php
$var = 'Salut, comment vas-tu ?';
?>



Ensuite, voyons la fonction qui nous permettra de tronquer ce texte .


<?php
$var = 'Salut, comment vas-tu ?'; //Notre texte dans une variable

echo substr($var,0,10); //substr = la fonction de "tronquation" - $var = la variable qui contient notre texte à tronquer - 0,10 = le nombre de caractères à afficher (0 : premier caractère - 10 : dernier caractère)
?>


(Note: Vous pouvez modifier la valeur du 0 aussi : si vous mettez 3 par exemple, cela tronquera à partir du troisième caractère, ici "l", et jusqu'au dixième, tout simplement)
Ici , le texte ressemblera à ceci à l'affichage (les espaces comptent pour un caractère !) :

Citation

Salut, comm



Bon, d'accord, c'est coupé, mais c'est moche, ca s'arrête en une fois .
Alors, rien de plus simple, il suffit de rajouter "..." après votre fonction de "tronquature" (que ce soit dans votre echo ou juste après avoir refermer votre balise "<?php ?>", c'est à vous de voir ^^ ).

Et, oui, c'est bien beau, mais maintenant, il y a un dernier problème à résoudre ! (Vraiment tout petit, mais autant aller jusqu'au bout !) .
Si votre news ou ce que vous tronquez fait moins de 10 caractères, ca affichera quand même les "..." ! (Je vous avais dit que c'était tout petit comme problème :þ )
On va résoudre ca grâce à la fonction strlen() , qui compte le nombre de caractères dans une chaîne, et une petite condition .


<?php
$var = 'Salut, comment vas-tu ?'; //Notre texte dans une variable

echo substr($var,0,10); //substr = la fonction de "tronquature" - $var = la variable qui contient notre texte à tronquer - 0,10 = le nombre de caractères à afficher (0 : premier caractère - 10 : dernier caractère)
?> ...



Deviendra :


<?php
$var = 'Salut, comment vas-tu ?'; //Notre texte dans une variable

echo substr($var,0,10); //substr = la fonction de "tronquation" - $var = la variable qui contient notre texte à tronquer - 0,10 = le nombre de caractères à afficher (0 : premier caractère - 10 : dernier caractère)

if(strlen($var) > 10)
{
echo ' ...'; //SEULEMENT si il y a plus de dix caractères dans la chaîne, on affiche les "..."
}
?>



Et voilà, vous savez désormais tronquer un texte comme vous le souhaitez !Sourire

A bientôt, pour un nouveau tuto ! (Mais quel poète ..Content )

Par slowkool , Le 28 Novembre 2006 à 20h03
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à PHP / MySQL

Ajouter un commentaire

Suite a un fort volume de spam, les commentaires d'invités sont pour le moment désactivés. Vous devez vous inscrire ou vous identifier pour pouvoir commenter cet article, ou demander du support.

Lectures recommandées

Commentaires sur cet article

Petit_fwanz - Le 23 Mars 2011 à 11h43

Bonjour,
Je dirais même:
<?php
echo (strlen($var) > 10)? substr(var,0,10)."...":$var;
?>
ou
<?php
if(strlen($var) > 10)
{
echo substr(var,0,10)."...";
}
else
echo $var;
?>

Tutoriaux > PHP / MySQL > substr() - Tronquer un texte