diff --git a/include/class.variable.php b/include/class.variable.php index 41bcb619e5587ddce96dce8bdb16d1e5aec7994b..6b0c6b5b8f8368b22984c2beb07b679572a61584 100644 --- a/include/class.variable.php +++ b/include/class.variable.php @@ -26,7 +26,7 @@ class VariableReplacer { var $errors; - function VariableReplacer($start_delim='%{', $end_delim='}') { + function VariableReplacer($start_delim='(?:%{|%%7B)', $end_delim='(?:}|%7D)') { $this->start_delim = $start_delim; $this->end_delim = $end_delim; @@ -131,7 +131,8 @@ class VariableReplacer { $vars = array(); foreach($result[0] as $k => $v) { if(isset($vars[$v])) continue; - $val=$this->_resolveVar($result[1][$k]); + // Format::html_balance() may urlencode() the contents here + $val=$this->_resolveVar(rawurldecode($result[1][$k])); if($val!==false) $vars[$v] = $val; }