Я пытаюсь заменить содержимое некоторых тегов в включаемых файлах с содержимым из других файлов:PHP - Использование обратных ссылок с file_exists в preg_replace
$view = preg_replace('/{include ([[:alnum:]\.-]+)}/', ((file_exists('template/$1.html')) ? 'OK $1' : 'KO $1'), file_get_contents('myTemplateFile.tpl'));
Всей {include file.ext}
ссылки, которые я получил в myTemplateFile.tpl
заменяется KO file.ext
вместо от OK file.ext
.
Однако, если я жестко закодировал file_exists('template/file.ext')
, тогда отображается правая строка.
Мне кажется, что обратная ссылка неверно разрешена внутри вызова file_exists
.
Что я делаю неправильно?
Спасибо! Я не обращал внимания на то, как рекурсивные вызовы были решены ... Конечно, file_exists вызывается первым, прежде чем preg_replace даже оценивается! –