Commit | Line | Data |
---|---|---|
2aa91ff2 S |
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 | { | |
24 | if (!isset($params[1]) || $params[1] != 'true') { | |
25 | return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)'; | |
26 | } | |
27 | if (Smarty::$_MBSTRING) { | |
28 | return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')'; | |
29 | } | |
30 | // no MBString fallback | |
31 | return 'strlen(' . $params[0] . ')'; | |
32 | } |