00001 <?php
00026 function smarty_modifier_truncate($string, $length = 80, $etc = '...',
00027 $break_words = false, $middle = false)
00028 {
00029 if ($length == 0)
00030 return '';
00031
00032 if (strlen($string) > $length) {
00033 $length -= strlen($etc);
00034 if (!$break_words && !$middle) {
00035 $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
00036 }
00037 if(!$middle) {
00038 return substr($string, 0, $length).$etc;
00039 } else {
00040 return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
00041 }
00042 } else {
00043 return $string;
00044 }
00045 }
00046
00047
00048
00049 ?>