Чуть более универсальный вариант:
#\{([a-z]++)([^}]*+)\}(.*?)\{\/\\1\}#is
А потом уже разбирать параметры отдельной простой регуляркой, если таковые есть. Это будет проще, короче и удобнее.
Кстати, если пробелы заменить на PHP_EOL, то параметры легко и быстро должна будет parse_ini_string прочитать
|