Как я могу разобрать {if game > 4}{somecontent}{/if}
из шаблона с использованием PHP.
Что случилось с использованием простого старого PHP? Это намного быстрее и намного проще.
<?php if ( $game > 4 ): ?> some content <?php endif ?>
Если вы действительно настаиваете, вот начало (непроверено):
<?php preg_match_all('/\{if ([^}]+)\}.+?\{\/if\}/s', $content, $matches) foreach ( $matches as $match ) { $expression = $match[1]; // Evaluate expression $content = preg_replace($match[0], $true ? $match[1] : '', $content); } ?>
Это довольно просто, он становится очень волосатым, когда вы хотите работать с вложенными операторами.
Вы можете проанализировать этот синтаксис с помощью механизма шаблонов smarty.