Добрый день друзья, суть вопроса: пытаюсь найти в шаблоне smarty подобном, функцию внутри конструкции if, match находит отлично все вхождения, но с соответствующими ограничениями по одному, matchAll не находит ничего, возможно я что то не экранировал или имеет другой синтаксис? Буду благодарен за любые подсказки и направления поисков. Спасибо за ваше внимание!
RegExp:
/({if([^}]*)in_array\()([^}]*?)(,)([^}]*?)(\))([^}]*)(})/gi
Пример шаблона:
<div class="item" data-file-item-id="{$item.id}" data-file-item="{$array_string}"> {if $active_template == 'line'} <div class="td name"> {/if} <div class="preview_block"> <div class="cover_block"> {if in_array($item.extension, $extensions)} <img class="cover" src="{$page.staticFolder}{$item.folder}preview/{$active_size}/{$item.name}.{$item.extension}?rand={$item.update_time}"> {else} <div class="fileStub {$item.extension}"></div>{$extensions} {/if} </div> </div> {if $active_template == 'line'} <span >{$item.name}.{$item.extension}</span> </div> <div class="td"> {$item.extension} </div> <div class="td"> {$item.update_date} </div> <div class="td"> {$item.size_kb} ?? </div> {else} <span class="name">{$item.name}.{$item.extension}</span> {/if} </div> {if 123 === 456 and in_array($item.extension, $extensions)}{if in_array($item.extension)}{if in_array($item.extension, $extensions) and 1234 == 456}{if is_array($item.extension) and 1234 == 456}{if is_array($item.extension) and 1234 == 456}