diff --git a/include/class_templateHandling.inc b/include/class_templateHandling.inc index 4b2084d3e7a5c74b86817fbb7fab88778ced26c6..7cc3b6a92c3483bb134e7d41e1c39ea9d57fd6dd 100644 --- a/include/class_templateHandling.inc +++ b/include/class_templateHandling.inc @@ -229,10 +229,12 @@ class templateHandling return preg_replace('/^%%/', '', $string); } - $vars = array(); - while (preg_match('/%([^%]+)%/', $string, $m, PREG_OFFSET_CAPTURE)) { + $offset = 0; + $vars = array(); + while (preg_match('/%([^%]+)%/', $string, $m, PREG_OFFSET_CAPTURE, $offset)) { $replace = static::parseMask($m[1][0], $attrs); $vars[] = array($m[0][1], strlen($m[0][0]), $replace); + $offset = $m[0][1] + strlen($m[0][0]); } $generator = static::iteratePossibleValues($string, $vars, $escapeMethod);