Coupe un texte (au mot) après une certaine longueur (en caractères).
/**
* Coupe un texte (au mot) après une certaine longueur (en caractères). Ajoute
* des points de suspension "..." si désiré, et supprime les balises HTML
* si désiré.
* @param string $chaine La chaîne de caractères
* @param int $longueur La longueur du texte, en caractères
* @param bool $points_de_suspension Si vrai, "..." sera ajouté au texte
* @param bool $strip_html Si vrai, les balises HTML seront supprimées
* @return string Le texte coupé
*/
function utils_summarize_text($chaine, $longueur, $points_de_suspension = true, $strip_html = true) {
if ($strip_html) {
$chaine = strip_tags($chaine);
}
if (strlen($chaine) > $longueur) {
$dernier_espace = strrpos(substr($chaine, 0, $longueur), ' ');
$chaine = substr($chaine, 0, $dernier_espace);
if ($points_de_suspension) {
$chaine .= '...';
}
}
return $chaine;
}