5 * @subpackage plugins
\r
10 * Smarty truncate modifier plugin
\r
12 * Type: modifier<br>
\r
13 * Name: truncate<br>
\r
14 * Purpose: Truncate a string to a certain length if necessary,
\r
15 * optionally splitting in the middle of a word, and
\r
16 * appending the $etc string.
\r
17 * @link http://smarty.php.net/manual/en/language.modifier.truncate.php
\r
18 * truncate (Smarty online manual)
\r
25 function smarty_modifier_truncate($string, $length = 80, $etc = '...',
\r
26 $break_words = false)
\r
31 if (strlen($string) > $length) {
\r
32 $length -= strlen($etc);
\r
34 $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
\r
36 return substr($string, 0, $length).$etc;
\r
41 /* vim: set expandtab: */
\r