diff --git a/src/Template/Template.php b/src/Template/Template.php index 3fdbd9ff..7e96aa9d 100644 --- a/src/Template/Template.php +++ b/src/Template/Template.php @@ -253,11 +253,17 @@ protected function batch($var, $functions) */ protected function escape($string, $functions = null) { + static $flags; + + if (!isset($flags)) { + $flags = ENT_QUOTES | (defined('ENT_SUBSTITUTE') ? ENT_SUBSTITUTE : 0); + } + if ($functions) { $string = $this->batch($string, $functions); } - return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); + return htmlspecialchars($string, $flags, 'UTF-8'); } /** @@ -271,7 +277,3 @@ protected function e($string, $functions = null) return $this->escape($string, $functions); } } - -if (!defined('ENT_SUBSTITUTE')) { - define('ENT_SUBSTITUTE', 8); -}