mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 10:24:26 +02:00
- bugfix other {strip} error with output tags between hmtl https://github.com/smarty-php/smarty/issues/180
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
- bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177
|
||||
- bugfix wrong precedence on special if conditions like '$foo is ... by $bar' could cause wrong code https://github.com/smarty-php/smarty/issues/178
|
||||
- improvement because of ambiguities the inline constant support has been removed from the $foo.bar syntax https://github.com/smarty-php/smarty/issues/149
|
||||
|
||||
- bugfix other {strip} error with output tags between hmtl https://github.com/smarty-php/smarty/issues/180
|
||||
|
||||
09.02.2016
|
||||
- move some code from parser into compiler
|
||||
- reformat all code for unique style
|
||||
|
@@ -121,7 +121,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
/**
|
||||
* smarty version
|
||||
*/
|
||||
const SMARTY_VERSION = '3.1.30-dev/37';
|
||||
const SMARTY_VERSION = '3.1.30-dev/38';
|
||||
|
||||
/**
|
||||
* define variable scopes
|
||||
|
@@ -794,7 +794,6 @@ abstract class Smarty_Internal_TemplateCompilerBase
|
||||
if ((string) $text != '') {
|
||||
$store = array();
|
||||
$_store = 0;
|
||||
$space = '';
|
||||
if ($this->parser->strip) {
|
||||
if (strpos($text, '<') !== false) {
|
||||
// capture html elements not to be messed with
|
||||
@@ -817,7 +816,7 @@ abstract class Smarty_Internal_TemplateCompilerBase
|
||||
'#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1\2',
|
||||
// remove spaces between attributes (but not in attribute values!)
|
||||
'#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5',
|
||||
'#^\s+<#Ss' => '<', '#>\s+$#Ss' => '>', $this->stripRegEx => '',);
|
||||
'#^\s+<#Ss' => $this->has_output ? ' <' : '<', '#>[\040\011]+$#Ss' => '> ', '#>[\040\011]*[\n]\s*$#Ss' => '>', $this->stripRegEx => '',);
|
||||
|
||||
$text = preg_replace(array_keys($expressions), array_values($expressions), $text);
|
||||
$_offset = 0;
|
||||
@@ -832,13 +831,12 @@ abstract class Smarty_Internal_TemplateCompilerBase
|
||||
$_store ++;
|
||||
}
|
||||
}
|
||||
$space = $this->has_output && !preg_match('/^\s/', $text) ? ' ' : '';
|
||||
} else {
|
||||
$text = preg_replace($this->stripRegEx, '', $text);
|
||||
}
|
||||
}
|
||||
$this->has_output = false;
|
||||
return new Smarty_Internal_ParseTree_Text($space . $text);
|
||||
return new Smarty_Internal_ParseTree_Text($text);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Reference in New Issue
Block a user