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: * @author Monte Ohrt <monte at ohrt dot com>
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: ?>
34: