Index: trunk/core/kernel/processors/tag_processor.php =================================================================== diff -u -N -r8860 -r8901 --- trunk/core/kernel/processors/tag_processor.php (.../tag_processor.php) (revision 8860) +++ trunk/core/kernel/processors/tag_processor.php (.../tag_processor.php) (revision 8901) @@ -71,19 +71,8 @@ $backup_prefix = $this->Prefix; $backup_special = $this->Special; - // process all possible flags: begin - $flags = Array('js_escape', 'result_to_var', 'pass_params', 'html_escape', 'strip_nl'); - $flag_values = Array(); + $flag_values = $this->PreparePostProcess($params); - foreach ($flags as $flag_name) { - $flag_values[$flag_name] = false; - if (isset($params[$flag_name])) { - $flag_values[$flag_name] = $params[$flag_name]; - unset($params[$flag_name]); - } - } - // process all possible flags: end - // pass_params for non ParseBlock tags :) if ($flag_values['pass_params']) { $params = array_merge_recursive2($this->Application->Parser->Params, $params); @@ -94,22 +83,8 @@ $this->Prefix = $backup_prefix; $this->Special = $backup_special; - if ($flag_values['js_escape']) { - $ret = addslashes($ret); - $ret = str_replace(Array("\r", "\n"), Array('\r', '\n'), $ret); - $ret = str_replace('', "", $ret); - } - if ($flag_values['html_escape']) { - $ret = htmlspecialchars($ret); - } - if ($flag_values['strip_nl']) { - // 1 - strip \r,\n; 2 - strip tabs too - $ret = preg_replace($flag_values['strip_nl'] == 2 ? "/[\r\n\t]/" : "/[\r\n]/", '', $ret); - } - if ($flag_values['result_to_var']) { - $this->Application->Parser->SetParam($flag_values['result_to_var'], $ret); - $ret = ''; - } + $ret = $this->PostProcess($ret, $flag_values); + return $ret; } else