X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/098a79f0819ebb89b7d48df4a6b154af4560f68e..9a23a8c0a51b7ec38a96f525484134f3cb85dc7e:/WEB-INF/lib/smarty/plugins/modifiercompiler.count_words.php diff --git a/WEB-INF/lib/smarty/plugins/modifiercompiler.count_words.php b/WEB-INF/lib/smarty/plugins/modifiercompiler.count_words.php new file mode 100644 index 00000000..82bc4786 --- /dev/null +++ b/WEB-INF/lib/smarty/plugins/modifiercompiler.count_words.php @@ -0,0 +1,31 @@ + + * Name: count_words
+ * 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