Tutoriaux > PHP / MySQL > 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 !
A bientôt, pour un nouveau tuto ! (Mais quel poète .. )
Par slowkool
, Le 28 Novembre 2006 à 20h03
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.
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