diff --git a/core/class/helper.class.php b/core/class/helper.class.php index 1753918e..09365b25 100644 --- a/core/class/helper.class.php +++ b/core/class/helper.class.php @@ -673,12 +673,34 @@ class helper public static function subword($text, $start, $length) { $text = trim($text); - if (strlen($text) > $length) { + + // Vérifier si la longueur du texte sans les balises dépasse la longueur souhaitée + if (mb_strlen(strip_tags($text)) > $length) { + // Utiliser mb_substr pour couper le texte $text = mb_substr($text, $start, $length); - $text = mb_substr($text, 0, min(mb_strlen($text), mb_strrpos($text, ' '))); + + // S'assurer que le texte ne se termine pas au milieu d'un mot + $lastSpace = mb_strrpos($text, ' '); + if ($lastSpace !== false) { + $text = mb_substr($text, 0, $lastSpace); + } + + // Fermer les balises HTML ouvertes + $dom = new DOMDocument(); + @$dom->loadHTML('
'), 0, $lenght); ?>... -