php - about regex, you find {else} and allow nested -
i created pattern: {if ([^}]*)}((?:[\w\s]+[^}]*)){\/if}
but have done long time ago now, pattern is, example:
{if $module=admin} {/if} but want find:
{if $module=admin} {else} {/if} as far possible find both same pattern.
any ideas? thank :)
/{if ([^}]+)}([\w\w]*?)(?:{else}([\w\w]*?))?{\/if}/g
{ifliteral text.([^}]+)if condition: 1 or more non-closing-curly-brace (}) characters, captured.}literal text.([\w\w]*?)inside if: 0 or more characters. match until next part found. (very inefficient; can rewrite make more performant.)(?:{else}([\w\w]*?))?optional group.{else}else: literal text.([\w\w]*?)inside else: 0 or more characters. match until next part found. (very inefficient; can rewrite make more performant.)
{\/if}closing: literal text.
Comments
Post a Comment