diff options
Diffstat (limited to 'libs/plugins/modifier.truncate.php')
| -rw-r--r-- | libs/plugins/modifier.truncate.php | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/libs/plugins/modifier.truncate.php b/libs/plugins/modifier.truncate.php deleted file mode 100644 index d253e4a6..00000000 --- a/libs/plugins/modifier.truncate.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Smarty plugin - * - * @package Smarty - * @subpackage PluginsModifier - */ -/** - * Smarty truncate modifier plugin - * Type: modifier - * Name: truncate - * Purpose: Truncate a string to a certain length if necessary, - * optionally splitting in the middle of a word, and - * appending the $etc string or inserting $etc into the middle. - * - * @link https://www.smarty.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual) - * @author Monte Ohrt <monte at ohrt dot com> - * - * @param string $string input string - * @param integer $length length of truncated text - * @param string $etc end string - * @param boolean $break_words truncate at word boundary - * @param boolean $middle truncate in the middle of text - * - * @return string truncated string - */ -function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false) -{ - if ($length === 0 || $string === null) { - return ''; - } - if (Smarty::$_MBSTRING) { - if (mb_strlen($string, Smarty::$_CHARSET) > $length) { - $length -= min($length, mb_strlen($etc, Smarty::$_CHARSET)); - if (!$break_words && !$middle) { - $string = preg_replace( - '/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, - '', - mb_substr($string, 0, $length + 1, Smarty::$_CHARSET) - ); - } - if (!$middle) { - return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc; - } - return mb_substr($string, 0, intval($length / 2), Smarty::$_CHARSET) . $etc . - mb_substr($string, -intval($length / 2), $length, Smarty::$_CHARSET); - } - return $string; - } - // no MBString fallback - if (isset($string[ $length ])) { - $length -= min($length, strlen($etc)); - if (!$break_words && !$middle) { - $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1)); - } - if (!$middle) { - return substr($string, 0, $length) . $etc; - } - return substr($string, 0, intval($length / 2)) . $etc . substr($string, -intval($length / 2)); - } - return $string; -} |
