diff options
author | Jesús <heckyel@hyperbola.info> | 2019-01-03 16:04:52 -0500 |
---|---|---|
committer | Jesús <heckyel@hyperbola.info> | 2019-01-03 16:04:52 -0500 |
commit | 8863159339b73b7abd7d3f148dc0ad862994be07 (patch) | |
tree | 4e18539c643ada24b83494cde060a543fab5b740 /smarty/libs/plugins/shared.escape_special_chars.php | |
download | portfolio-8863159339b73b7abd7d3f148dc0ad862994be07.tar.lz portfolio-8863159339b73b7abd7d3f148dc0ad862994be07.tar.xz portfolio-8863159339b73b7abd7d3f148dc0ad862994be07.zip |
first commit
Diffstat (limited to 'smarty/libs/plugins/shared.escape_special_chars.php')
-rw-r--r-- | smarty/libs/plugins/shared.escape_special_chars.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/smarty/libs/plugins/shared.escape_special_chars.php b/smarty/libs/plugins/shared.escape_special_chars.php new file mode 100644 index 0000000..b68fe4b --- /dev/null +++ b/smarty/libs/plugins/shared.escape_special_chars.php @@ -0,0 +1,34 @@ +<?php +/** + * Smarty shared plugin + * + * @package Smarty + * @subpackage PluginsShared + */ + +/** + * escape_special_chars common function + * Function: smarty_function_escape_special_chars<br> + * Purpose: used by other smarty functions to escape + * special chars except for already escaped ones + * + * @author Monte Ohrt <monte at ohrt dot com> + * + * @param string $string text that should by escaped + * + * @return string + */ +function smarty_function_escape_special_chars($string) +{ + if (!is_array($string)) { + if (version_compare(PHP_VERSION, '5.2.3', '>=')) { + $string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false); + } else { + $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; +} |