Voici une petite fonction PHP qui va permettre de découper automatiquement un texte récupéré depuis une base mysql (par exemple) sans que cette coupure arrive au milieu d'un mot. Cette fonction est utile si vous souhaitez n'afficher que les premier mots d'un texte (en guise d'introduction par exemple).
Code : Tout sélectionner
// on peut remplacer par une donnée issue d'une base sql (ex: $chaine = $sql['texte'];)
$chaine = "Le texte à tronquer";
$lg_max = 160; //nombre de caractères autorisés
//On vérifie si le texte est plus grand que le nombre de caractères spécifiés
if (strlen($chaine) > $lg_max)
//Si la réponse est non le script ne fait rien mais si c'est oui on continue...
{
$chaine = substr($chaine, 0, $lg_max);
//on cherche l'espace le plus proche du maximum des caractères autorisés (ici 160)
$last_space = strrpos($chaine, " ");
//On ajoute ... à la suite de cet espace
$chaine = substr($chaine, 0, $last_space)."...";
}
echo $chaine;
Code : Tout sélectionner
echo $chaine.'...<a href="URL_de_la_page" title="lire la suite" >(Lire la suite)</a>';