1
|
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 ?>
|