diff --git a/change_log.txt b/change_log.txt index 7ded8522..fb979c5c 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,6 @@ +25/07/2010 +- another bugfix of change from 23/07/2010 when compiling modifer + 24/07/2010 - bugfix of change from 23/07/2010 when compiling modifer diff --git a/libs/sysplugins/smarty_internal_compile_private_modifier.php b/libs/sysplugins/smarty_internal_compile_private_modifier.php index 2392aba1..04600c84 100644 --- a/libs/sysplugins/smarty_internal_compile_private_modifier.php +++ b/libs/sysplugins/smarty_internal_compile_private_modifier.php @@ -29,7 +29,7 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa $output = $_attr['value']; // loop over list of modifiers foreach ($_attr['modifierlist'] as $single_modifier) { - preg_match_all('/(\'(.+?)\'|\"(.+?)\"|:|[^:]+)/', $single_modifier, $mod_array); + preg_match_all('/(\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'|"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"|:|[^:]+)/', $single_modifier, $mod_array); $modifier = $mod_array[0][0]; $i = 1; while (isset($mod_array[0][$i])) {