diff options
Diffstat (limited to '3dparty/Smarty/plugins/modifiercompiler.count_words.php')
-rw-r--r-- | 3dparty/Smarty/plugins/modifiercompiler.count_words.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/3dparty/Smarty/plugins/modifiercompiler.count_words.php b/3dparty/Smarty/plugins/modifiercompiler.count_words.php new file mode 100644 index 00000000000..f9e54107123 --- /dev/null +++ b/3dparty/Smarty/plugins/modifiercompiler.count_words.php @@ -0,0 +1,31 @@ +<?php +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifierCompiler + */ + +/** + * Smarty count_words modifier plugin + * + * Type: modifier<br> + * Name: count_words<br> + * Purpose: count the number of words in a text + * + * @link http://smarty.php.net/manual/en/language.modifier.count.words.php count_words (Smarty online manual) + * @author Uwe Tews + * @param array $params parameters + * @return string with compiled code +*/ +function smarty_modifiercompiler_count_words($params, $compiler) +{ + // mb_ functions available? + if (function_exists('mb_strlen')) { + return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? preg_match_all(\'#[\w\pL]+#u\', ' . $params[0] . ', $tmp) : preg_match_all(\'#\w+#\',' . $params[0] . ', $tmp))'; + } else { + return 'str_word_count(' . $params[0] . ')'; + } +} + +?>
\ No newline at end of file |