]> git.joonet.de Git - adminer.git/commitdiff
Simplify shorten_utf8
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 6 Feb 2009 15:31:53 +0000 (15:31 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 6 Feb 2009 15:31:53 +0000 (15:31 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@554 7c3ca157-0c34-0410-bff1-cbf682f78f5c

functions.inc.php

index 5991b637a8d36befee44106ee0a74982e5e00684..4b7888a7f7d3d8e1564f0e83e8df71c30f035946 100644 (file)
@@ -323,18 +323,8 @@ function select($result) {
 }
 
 function shorten_utf8($string, $length) {
-       for ($i=0; $i < strlen($string); $i++) {
-               if (ord($string[$i]) >= 192) {
-                       while (ord($string[$i+1]) >= 128 && ord($string[$i+1]) < 192) {
-                               $i++;
-                       }
-               }
-               $length--;
-               if ($length == 0) {
-                       return nl2br(htmlspecialchars(substr($string, 0, $i+1))) . "<em>...</em>";
-               }
-       }
-       return nl2br(htmlspecialchars($string));
+       preg_match("~^(.{0,$length})(.?)~su", $string, $match);
+       return nl2br(htmlspecialchars($match[1])) . ($match[2] ? "<em>...</em>" : "");
 }
 
 function table_comment(&$row) {