fusionpbx/resources/templates/engine/smarty/plugins/shared.escape_special_chars...

33 lines
977 B
PHP
Raw Normal View History

2013-11-09 21:02:56 +01:00
<?php
/**
* Smarty shared plugin
*
2018-11-07 08:18:14 +01:00
* @package Smarty
2013-11-09 21:02:56 +01:00
* @subpackage PluginsShared
*/
2018-11-07 08:18:14 +01:00
/**
* 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 <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', '>=')) {
2013-11-09 21:02:56 +01:00
$string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false);
2018-11-07 08:18:14 +01:00
} else {
2013-11-09 21:02:56 +01:00
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
$string = htmlspecialchars($string);
$string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
}
}
2018-11-07 08:18:14 +01:00
return $string;
2013-11-09 21:02:56 +01:00
}