3 * Smarty shared plugin
\r
5 * @subpackage plugins
\r
10 * escape_special_chars common function
\r
12 * Function: smarty_function_escape_special_chars<br>
\r
13 * Purpose: used by other smarty functions to escape
\r
14 * special chars except for already escaped ones
\r
18 function smarty_function_escape_special_chars($string)
\r
20 if(!is_array($string)) {
\r
21 $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
\r
22 $string = htmlspecialchars($string);
\r
23 $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string);
\r
28 /* vim: set expandtab: */
\r