library/smarty/libs/plugins/modifiercompiler.count_characters.php
changeset 46 f11c31f7fa3e
parent 45 a56e7f9a0463
child 47 03388ec805b4
equal deleted inserted replaced
45:a56e7f9a0463 46:f11c31f7fa3e
     1 <?php
       
     2 /**
       
     3  * Smarty plugin
       
     4  *
       
     5  * @package    Smarty
       
     6  * @subpackage PluginsModifierCompiler
       
     7  */
       
     8 
       
     9 /**
       
    10  * Smarty count_characters modifier plugin
       
    11  * Type:     modifier<br>
       
    12  * Name:     count_characteres<br>
       
    13  * Purpose:  count the number of characters in a text
       
    14  *
       
    15  * @link   http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
       
    16  * @author Uwe Tews
       
    17  *
       
    18  * @param array $params parameters
       
    19  *
       
    20  * @return string with compiled code
       
    21  */
       
    22 function smarty_modifiercompiler_count_characters($params) {
       
    23     if (!isset($params[1]) || $params[1] != 'true') {
       
    24         return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)';
       
    25     }
       
    26     if (Smarty::$_MBSTRING) {
       
    27         return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
       
    28     }
       
    29     // no MBString fallback
       
    30     return 'strlen(' . $params[0] . ')';
       
    31 }