Anicky of Micropole Lyon Pole web
3/26/2016 - 5:32 PM

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).


/**
 * 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;
}