Commit | Line | Data |
---|---|---|
e586807d H |
1 | <?php |
2 | /** | |
3 | * Smarty plugin | |
4 | * @package Smarty | |
5 | * @subpackage plugins | |
6 | */ | |
7 | ||
8 | ||
9 | /** | |
10 | * Smarty count_words modifier plugin | |
11 | * | |
12 | * Type: modifier<br> | |
13 | * Name: count_words<br> | |
14 | * Purpose: count the number of words in a text | |
15 | * @link http://smarty.php.net/manual/en/language.modifier.count.words.php | |
16 | * count_words (Smarty online manual) | |
17 | * @param string | |
18 | * @return integer | |
19 | */ | |
20 | function smarty_modifier_count_words($string) | |
21 | { | |
22 | // split text by ' ',\r,\n,\f,\t | |
23 | $split_array = preg_split('/\s+/',$string); | |
24 | // count matches that contain alphanumerics | |
25 | $word_count = preg_grep('/[a-zA-Z0-9\\x80-\\xff]/', $split_array); | |
26 | ||
27 | return count($word_count); | |
28 | } | |
29 | ||
30 | /* vim: set expandtab: */ | |
31 | ||
32 | ?> |