IP/libs/plugins/modifiercompiler.count_characters.php

33 lines
916 B
PHP
Raw Permalink Normal View History

2014-04-01 18:38:34 +00:00
<?php
/**
* Smarty plugin
*
2014-10-13 09:24:53 +00:00
* @package Smarty
2014-04-01 18:38:34 +00:00
* @subpackage PluginsModifierCompiler
*/
/**
* Smarty count_characters modifier plugin
* Type: modifier<br>
* Name: count_characteres<br>
* Purpose: count the number of characters in a text
*
2014-10-13 09:24:53 +00:00
* @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
2014-04-01 18:38:34 +00:00
* @author Uwe Tews
2014-10-13 09:24:53 +00:00
*
2014-04-01 18:38:34 +00:00
* @param array $params parameters
2014-10-13 09:24:53 +00:00
*
2014-04-01 18:38:34 +00:00
* @return string with compiled code
*/
2014-10-13 09:24:53 +00:00
function smarty_modifiercompiler_count_characters($params)
2014-04-01 18:38:34 +00:00
{
if (!isset($params[ 1 ]) || $params[ 1 ] != 'true') {
return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[ 0 ] . ', $tmp)';
2014-04-01 18:38:34 +00:00
}
if (Smarty::$_MBSTRING) {
return 'mb_strlen(' . $params[ 0 ] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
2014-04-01 18:38:34 +00:00
}
// no MBString fallback
return 'strlen(' . $params[ 0 ] . ')';
2014-04-01 18:38:34 +00:00
}