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 |
?> |