]> git.mxchange.org Git - friendica.git/blob - vendor/smarty/smarty/libs/plugins/modifiercompiler.count_words.php
Add Smarty to Composer
[friendica.git] / vendor / smarty / smarty / libs / plugins / modifiercompiler.count_words.php
1 <?php
2 /**
3  * Smarty plugin
4  *
5  * @package    Smarty
6  * @subpackage PluginsModifierCompiler
7  */
8
9 /**
10  * Smarty count_words modifier plugin
11  * Type:     modifier<br>
12  * Name:     count_words<br>
13  * Purpose:  count the number of words in a text
14  *
15  * @link   http://www.smarty.net/manual/en/language.modifier.count.words.php count_words (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_words($params)
23 {
24     if (Smarty::$_MBSTRING) {
25         // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
26         // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592
27         return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' .
28                $params[ 0 ] . ', $tmp)';
29     }
30     // no MBString fallback
31     return 'str_word_count(' . $params[ 0 ] . ')';
32 }