1
|
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 * @author Monte Ohrt <monte at ohrt dot com>
|
|
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 ?>
|