diff options
Diffstat (limited to 'lib/smarty/libs/plugins/shared.mb_wordwrap.php')
-rw-r--r-- | lib/smarty/libs/plugins/shared.mb_wordwrap.php | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/lib/smarty/libs/plugins/shared.mb_wordwrap.php b/lib/smarty/libs/plugins/shared.mb_wordwrap.php deleted file mode 100644 index ba3498c70..000000000 --- a/lib/smarty/libs/plugins/shared.mb_wordwrap.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** - * Smarty shared plugin - * - * @package Smarty - * @subpackage PluginsShared - */ - -if(!function_exists('smarty_mb_wordwrap')) { - - /** - * Wrap a string to a given number of characters - * - * @link http://php.net/manual/en/function.wordwrap.php for similarity - * @param string $str the string to wrap - * @param int $width the width of the output - * @param string $break the character used to break the line - * @param boolean $cut ignored parameter, just for the sake of - * @return string wrapped string - * @author Rodney Rehm - */ - function smarty_mb_wordwrap($str, $width=75, $break="\n", $cut=false) - { - // break words into tokens using white space as a delimiter - $tokens = preg_split('!(\s)!S' . Smarty::$_UTF8_MODIFIER, $str, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE); - $length = 0; - $t = ''; - $_previous = false; - - foreach ($tokens as $_token) { - $token_length = mb_strlen($_token, Smarty::$_CHARSET); - $_tokens = array($_token); - if ($token_length > $width) { - // remove last space - $t = mb_substr($t, 0, -1, Smarty::$_CHARSET); - $_previous = false; - $length = 0; - - if ($cut) { - $_tokens = preg_split('!(.{' . $width . '})!S' . Smarty::$_UTF8_MODIFIER, $_token, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE); - // broken words go on a new line - $t .= $break; - } - } - - foreach ($_tokens as $token) { - $_space = !!preg_match('!^\s$!S' . Smarty::$_UTF8_MODIFIER, $token); - $token_length = mb_strlen($token, Smarty::$_CHARSET); - $length += $token_length; - - if ($length > $width) { - // remove space before inserted break - if ($_previous && $token_length < $width) { - $t = mb_substr($t, 0, -1, Smarty::$_CHARSET); - } - - // add the break before the token - $t .= $break; - $length = $token_length; - - // skip space after inserting a break - if ($_space) { - $length = 0; - continue; - } - } else if ($token == "\n") { - // hard break must reset counters - $_previous = 0; - $length = 0; - } else { - // remember if we had a space or not - $_previous = $_space; - } - // add the token - $t .= $token; - } - } - - return $t; - } - -} -?>
\ No newline at end of file |