Comment tronquer un texte en php

Nous allons voir ici comment tronquer (couper) un texte, ou un titre suivant un certain nombre de caractères.

* Notez que ce tuto est compatible avec php < 4.2 , vous saurez modifier les scripts en fonction de votre version php.
Je vous rappelle juste que les variables provenant d'un formulaire en métode 'post', se récupèreront à partir de php > 4.2 de la forme suivante $_POST['variable'] et non plus $variable.



Pour notre exemple nous déterminerons que le texte provient de la variable $texte.

Script du tronquage :
<?
$max= 30; // on détermine combien de caractères maxi doit avoir le texte.
if (strlen($texte)>$max) // la longueur du texte est-elle supèrieure à limite $max ?
{
$texte = substr($texte, 0, $max); // on tronque le texte avec comme limite le maximum de caractères autorisés.
$espace = strrpos($texte, " "); // Récupération du dernier espace pour ne pas couper un mot.
$texte = substr($texte, 0, $espace); // la phrase est reformatée pour s'arrêter à l'éspace .
$texte = $texte."..."; // on ajoute des points de suspension
}
else
{
echo $texte ; // sinon on affiche simplement le texte }
?>

Script trés simple sans difficulté, notez que nous utilisons la fonction :
strrpos() et non strpos() afin de bien récupérer le dernier espace du texte tronqué.



Si des doutes persistent, des questions spécifiques, des petits problèmes de mise en place, n'hésitez pas à consulter le forum référence en php :
www.AllHtml.com

Tutos:
Cases à cocher   Tronquer un texte    Moteur de recherche    Tableau (Array) et boucles    Caddie virtuel    Calendrier   

Notes:
Notez que de toute façon ces scripts ne sont qu'à titre d'exemples et n'en sont donc que trés partiels, il vous faudra bien-sûr les intégrer dans l'environnement de votre page, de votre site, mais la méthode est là et elle fonctionne.
Autre point important, ces morceaux de scripts notament, lorsqu'il y a connexion à votre base de données, ne font aucune référence à certains problèmes de sécurité.