From 60fb303622f2e5556c2d70330425520c66c8813e Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sun, 7 May 2006 08:35:42 +0000 Subject: [PATCH] filtre couper prend en compte les caracteres utf sur 2 octets (#255) --- ecrire/inc/texte.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index 25abe37a97..bcd6ad015d 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -242,6 +242,16 @@ function couper($texte, $taille=50) { // supprimer les tableaux $texte = ereg_replace("(^|\r)\|.*\|\r", "\r", $texte); + // corriger la longueur de coupe + // en fonction de la presence de caracteres utf + if ($GLOBALS['meta']['charset']=='utf-8'){ + $long = charset2unicode($texte); + $long = spip_substr($long, 0, max($taille,1)); + $nbcharutf = preg_match_all("/(&#[0-9]{3,5};)/",$long,$matches); + $taille += $nbcharutf; + } + + // couper au mot precedent $long = spip_substr($texte, 0, max($taille-4,1)); $court = ereg_replace("([^[:space:]][[:space:]]+)[^[:space:]]*\n?$", "\\1", $long); -- GitLab