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