Commit | Line | Data |
---|---|---|
e586807d H |
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 | { | |
b42b2bf9 H |
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; | |
e586807d H |
26 | } |
27 | ||
28 | /* vim: set expandtab: */ | |
29 | ||
30 | ?> |