shared.escape_special_chars.php 726 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. /**
  3. * Smarty shared plugin
  4. * @package Smarty
  5. * @subpackage plugins
  6. */
  7. /**
  8. * escape_special_chars common function
  9. *
  10. * Function: smarty_function_escape_special_chars<br>
  11. * Purpose: used by other smarty functions to escape
  12. * special chars except for already escaped ones
  13. * @param string
  14. * @return string
  15. */
  16. function smarty_function_escape_special_chars($string)
  17. {
  18. if(!is_array($string)) {
  19. $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
  20. $string = htmlspecialchars($string);
  21. $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string);
  22. }
  23. return $string;
  24. }
  25. /* vim: set expandtab: */
  26. ?>