mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-03 18:04:26 +02:00
fix problem with 4.0.5-dev and preg_replace_callback
This commit is contained in:
@@ -24,7 +24,10 @@ foreach (array_slice($argv, 1) as $template) {
|
||||
die("\nError: could not open $template.out for writing\n\n");
|
||||
}
|
||||
|
||||
$output = preg_replace('!\$(\w+(\.\w+)?/)*\w+(?>\.\w+)*(?>\|@?\w+(:(?>' . $qstr_regexp . '|[^|]+))*)*!F', 'fix_var', $input);
|
||||
if (function_exists("preg_replace_callback"))
|
||||
$output = preg_replace_callback('!\$(\w+(\.\w+)?/)*\w+(?>\.\w+)*(?>\|@?\w+(:(?>' . $qstr_regexp . '|[^|]+))*)*!', 'fix_var', $input);
|
||||
else
|
||||
$output = preg_replace('!\$(\w+(\.\w+)?/)*\w+(?>\.\w+)*(?>\|@?\w+(:(?>' . $qstr_regexp . '|[^|]+))*)*!F', 'fix_var', $input);
|
||||
|
||||
fwrite($fp, $output);
|
||||
fclose($fp);
|
||||
@@ -37,7 +40,7 @@ foreach (array_slice($argv, 1) as $template) {
|
||||
function fix_var($match)
|
||||
{
|
||||
$var_expr = $match[0];
|
||||
|
||||
|
||||
list($var_ref, $modifiers) = explode('|', substr($var_expr, 1), 2);
|
||||
|
||||
$sections = explode('/', $var_ref);
|
||||
|
Reference in New Issue
Block a user