You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
898 B
35 lines
898 B
<?php
|
|
/**
|
|
* Smarty plugin
|
|
* @package Smarty
|
|
* @subpackage plugins
|
|
*/
|
|
|
|
|
|
/**
|
|
* Smarty truncate for cn modifier plugin
|
|
*
|
|
* Type: modifier<br>
|
|
* Name: truncate<br>
|
|
* 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 http://smarty.php.net/manual/en/language.modifier.truncate.php
|
|
* truncate (Smarty online manual)
|
|
* @author Monte Ohrt <monte at ohrt dot com>
|
|
* @param string
|
|
* @param integer
|
|
* @param string
|
|
* @param boolean
|
|
* @param boolean
|
|
* @return string
|
|
*/
|
|
function smarty_modifier_truncate_cn($string, $length = 80, $charset = 'UTF-8', $etc = '..')
|
|
{
|
|
if(mb_strwidth($string,'UTF-8')<$length) return $string;
|
|
return mb_strimwidth($string,0,$length,'',$charset) . $etc;
|
|
}
|
|
|
|
/* vim: set expandtab: */
|
|
|
|
?>
|