From 51609351f2c4b5082b7e6f0744cd3811c325303f Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 11 Oct 2016 14:01:29 +0200 Subject: * initial template --- lib/smarty/plugins/shared.escape_special_chars.php | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lib/smarty/plugins/shared.escape_special_chars.php (limited to 'lib/smarty/plugins/shared.escape_special_chars.php') diff --git a/lib/smarty/plugins/shared.escape_special_chars.php b/lib/smarty/plugins/shared.escape_special_chars.php new file mode 100644 index 0000000..d2609b6 --- /dev/null +++ b/lib/smarty/plugins/shared.escape_special_chars.php @@ -0,0 +1,51 @@ +=')) { + /** + * escape_special_chars common function + * + * Function: smarty_function_escape_special_chars
+ * Purpose: used by other smarty functions to escape + * special chars except for already escaped ones + * + * @author Monte Ohrt + * @param string $string text that should by escaped + * @return string + */ + function smarty_function_escape_special_chars($string) + { + if (!is_array($string)) { + $string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false); + } + return $string; + } +} else { + /** + * escape_special_chars common function + * + * Function: smarty_function_escape_special_chars
+ * Purpose: used by other smarty functions to escape + * special chars except for already escaped ones + * + * @author Monte Ohrt + * @param string $string text that should by escaped + * @return string + */ + function smarty_function_escape_special_chars($string) + { + if (!is_array($string)) { + $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); + $string = htmlspecialchars($string); + $string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string); + } + return $string; + } +} + +?> \ No newline at end of file -- cgit v1.2.3