Ingernirated
@Ingernirated
Романыч

Как сделать поиск и вставку файлов через условно {{}}?

Всем привет!
Подскажите пожалуйста, как можно реализовать проверку всех файлов на наличие {{}} и если есть такой синтаксис, то вставить в это место текст из например {{blog/flowers.txt}}?
Т.е. если в файле есть {{}}, то он подставит в это место текст из указанного в нём файла.
  • Вопрос задан
  • 69 просмотров
Решения вопроса 3
Stalker_RED
@Stalker_RED
Регулярка {{(.*?)}} ищет эти ваши скобочки (пример)
и возвращает то, что между ними.

Найдя их, нужно попытаться получить данные из файла (file_get_conents)

И вставить его вместо всей этой конструкции со скобочками (str_replace)
Ответ написан
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
$str = 'Исходный текст и {{}}.';
$dir = 'blog\flowers.txt';
$str = preg_replace_callback(
    '~{{\K(?=}})~',
    function()use($dir){
        return file_get_contents($dir);
    },
    $str
);

echo $str;

Но для подобных замен есть более подходящие инструменты:
$str = 'Исходный текст и {{}}.';
$dir = 'blog\flowers.txt';
$str = str_replace('{{}}', '{{'. file_get_contents($dir) . '}}', $str);

echo $str;
Ответ написан
@vldud
file_get_contents - считываем содержимое файла в строку
preg_replace_callback - заменяем фрагменты строки
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы