modifiercompiler.count_characters.php 944 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /**
  3. * Smarty plugin
  4. *
  5. * @package Smarty
  6. * @subpackage PluginsModifierCompiler
  7. */
  8. /**
  9. * Smarty count_characters modifier plugin
  10. *
  11. * Type: modifier<br>
  12. * Name: count_characteres<br>
  13. * Purpose: count the number of characters in a text
  14. *
  15. * @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
  16. * @author Uwe Tews
  17. * @param array $params parameters
  18. * @return string with compiled code
  19. */
  20. function smarty_modifiercompiler_count_characters($params, $compiler)
  21. {
  22. if (!isset($params[1]) || $params[1] != 'true') {
  23. return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)';
  24. }
  25. if (Smarty::$_MBSTRING) {
  26. return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
  27. }
  28. // no MBString fallback
  29. return 'strlen(' . $params[0] . ')';
  30. }
  31. ?>