mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 18:34:27 +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,6 +3,7 @@
|
|||||||
- bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177
|
- 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
|
- 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
|
- 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
|
09.02.2016
|
||||||
- move some code from parser into compiler
|
- move some code from parser into compiler
|
||||||
|
@@ -121,7 +121,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
|||||||
/**
|
/**
|
||||||
* smarty version
|
* smarty version
|
||||||
*/
|
*/
|
||||||
const SMARTY_VERSION = '3.1.30-dev/37';
|
const SMARTY_VERSION = '3.1.30-dev/38';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* define variable scopes
|
* define variable scopes
|
||||||
|
@@ -794,7 +794,6 @@ abstract class Smarty_Internal_TemplateCompilerBase
|
|||||||
if ((string) $text != '') {
|
if ((string) $text != '') {
|
||||||
$store = array();
|
$store = array();
|
||||||
$_store = 0;
|
$_store = 0;
|
||||||
$space = '';
|
|
||||||
if ($this->parser->strip) {
|
if ($this->parser->strip) {
|
||||||
if (strpos($text, '<') !== false) {
|
if (strpos($text, '<') !== false) {
|
||||||
// capture html elements not to be messed with
|
// capture html elements not to be messed with
|
||||||
@@ -817,7 +816,7 @@ abstract class Smarty_Internal_TemplateCompilerBase
|
|||||||
'#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1\2',
|
'#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1\2',
|
||||||
// remove spaces between attributes (but not in attribute values!)
|
// remove spaces between attributes (but not in attribute values!)
|
||||||
'#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5',
|
'#(([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);
|
$text = preg_replace(array_keys($expressions), array_values($expressions), $text);
|
||||||
$_offset = 0;
|
$_offset = 0;
|
||||||
@@ -832,13 +831,12 @@ abstract class Smarty_Internal_TemplateCompilerBase
|
|||||||
$_store ++;
|
$_store ++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$space = $this->has_output && !preg_match('/^\s/', $text) ? ' ' : '';
|
|
||||||
} else {
|
} else {
|
||||||
$text = preg_replace($this->stripRegEx, '', $text);
|
$text = preg_replace($this->stripRegEx, '', $text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->has_output = false;
|
$this->has_output = false;
|
||||||
return new Smarty_Internal_ParseTree_Text($space . $text);
|
return new Smarty_Internal_ParseTree_Text($text);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user