00001 <?php 00018 function smarty_function_escape_special_chars($string) 00019 { 00020 if(!is_array($string)) { 00021 $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); 00022 $string = htmlspecialchars($string); 00023 $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string); 00024 } 00025 return $string; 00026 } 00027 00028 /* vim: set expandtab: */ 00029 00030 ?>