@vantic131

Один и тот же RegExp работает в match, но в matchAll работает иначе?

Добрый день друзья, суть вопроса: пытаюсь найти в шаблоне 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}
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы