Add Horde_String::abbreviate().
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 28 Jan 2010 20:55:13 +0000 (13:55 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 28 Jan 2010 20:55:42 +0000 (13:55 -0700)
framework/Util/lib/Horde/String.php
framework/Util/package.xml

index 719efce..4e13ee2 100644 (file)
@@ -606,6 +606,22 @@ class Horde_String
     }
 
     /**
+     * Return an abbreviated string, with characters in the middle of the
+     * excesively long string replaced by '...'.
+     *
+     * @param string $text     The original string.
+     * @param integer $length  The length at which to abbreviate.
+     *
+     * @return string  The abbreviated string, if longer than $length.
+     */
+    static public function abbreviate($text, $length = 20)
+    {
+        return (self::length($text) > $length)
+            ? self::substr($text, 0, round(($length - 3) / 2)) . '...' . self::substr($text, (($length - 3) / 2) * -1)
+            : $text;
+    }
+
+    /**
      * Returns true if the every character in the parameter is an alphabetic
      * character.
      *
index 595c00e..8afed38 100644 (file)
@@ -29,7 +29,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
   <api>beta</api>
  </stability>
  <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
- <notes>
+ <notes>* Added Horde_Util::abbreviate().
  * Removed Horde_Array::combine() and Horde_Util::hmac().
  * Initial Horde 4 package.
  </notes>