From 9bd59128842a3a873c957044d3030a2f5c111338 Mon Sep 17 00:00:00 2001 From: Thomas Keller Date: Fri, 24 Feb 2012 01:29:25 +0100 Subject: [PATCH] Fix issue 785. --- NEWS.mdtext | 3 +++ src/IDF/Views/Source.php | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/NEWS.mdtext b/NEWS.mdtext index 5aafb37..c82a54b 100644 --- a/NEWS.mdtext +++ b/NEWS.mdtext @@ -4,6 +4,9 @@ ## Bugfixes +- Ensure that IDF does not break UTF-8 encoded strings when + shortening them for view rendering (issue 785) + ## Documentation ## Translations diff --git a/src/IDF/Views/Source.php b/src/IDF/Views/Source.php index 81760a0..38913f0 100644 --- a/src/IDF/Views/Source.php +++ b/src/IDF/Views/Source.php @@ -506,12 +506,12 @@ function IDF_Views_Source_PrettySizeSimple($size) function IDF_Views_Source_ShortenString($string, $length) { $ellipse = "..."; - $length = max(strlen($ellipse) + 2, $length); + $length = max(mb_strlen($ellipse) + 2, $length); $preflen = ceil($length / 10); if (mb_strlen($string) < $length) return $string; - return substr($string, 0, $preflen).$ellipse. - substr($string, -($length - $preflen - mb_strlen($ellipse))); + return mb_substr($string, 0, $preflen).$ellipse. + mb_substr($string, -($length - $preflen - mb_strlen($ellipse))); }