51ff3226 |
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) |
9b7c11be |
17 | * @author Monte Ohrt <monte at ohrt dot com> |
51ff3226 |
18 | * @param string |
19 | * @return integer |
20 | */ |
21 | function smarty_modifier_count_words($string) |
22 | { |
23 | // split text by ' ',\r,\n,\f,\t |
24 | $split_array = preg_split('/\s+/',$string); |
25 | // count matches that contain alphanumerics |
26 | $word_count = preg_grep('/[a-zA-Z0-9\\x80-\\xff]/', $split_array); |
27 | |
28 | return count($word_count); |
29 | } |
30 | |
31 | /* vim: set expandtab: */ |
32 | |
33 | ?> |