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 |
9b7c11be |
15 | * @author Monte Ohrt <monte at ohrt dot com> |
51ff3226 |
16 | * @param string |
17 | * @return string |
18 | */ |
19 | function smarty_function_escape_special_chars($string) |
20 | { |
21 | if(!is_array($string)) { |
22 | $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); |
23 | $string = htmlspecialchars($string); |
24 | $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string); |
25 | } |
26 | return $string; |
27 | } |
28 | |
29 | /* vim: set expandtab: */ |
30 | |
31 | ?> |