From 7085a0c2f7104a56a7e946c43ba0b5736be5f4e7 Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 27 Dec 2016 14:47:01 +0100 Subject: * smarty bundled --- .../plugins/modifiercompiler.count_words.php | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lib/smarty3/plugins/modifiercompiler.count_words.php (limited to 'lib/smarty3/plugins/modifiercompiler.count_words.php') diff --git a/lib/smarty3/plugins/modifiercompiler.count_words.php b/lib/smarty3/plugins/modifiercompiler.count_words.php new file mode 100644 index 0000000..f20a197 --- /dev/null +++ b/lib/smarty3/plugins/modifiercompiler.count_words.php @@ -0,0 +1,32 @@ + + * Name: count_words
+ * Purpose: count the number of words in a text + * + * @link http://www.smarty.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) +{ + if (Smarty::$_MBSTRING) { + // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)'; + // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592 + return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' . + $params[ 0 ] . ', $tmp)'; + } + // no MBString fallback + return 'str_word_count(' . $params[ 0 ] . ')'; +} -- cgit v1.2.3