packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/includes/smarty/plugins/modifiercompiler.count_words.php
changeset 0 3906ca745819
equal deleted inserted replaced
-1:000000000000 0:3906ca745819
       
     1 <?php
       
     2 /**
       
     3  * Smarty plugin
       
     4  *
       
     5  * @package Smarty
       
     6  * @subpackage PluginsModifierCompiler
       
     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  *
       
    16  * @link http://www.smarty.net/manual/en/language.modifier.count.words.php count_words (Smarty online manual)
       
    17  * @author Uwe Tews
       
    18  * @param array $params parameters
       
    19  * @return string with compiled code
       
    20 */
       
    21 function smarty_modifiercompiler_count_words($params, $compiler)
       
    22 {
       
    23     if (Smarty::$_MBSTRING) {
       
    24         // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
       
    25         // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592
       
    26         return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
       
    27     }
       
    28     // no MBString fallback
       
    29     return 'str_word_count(' . $params[0] . ')';
       
    30 }
       
    31 
       
    32 ?>