Задать вопрос
@seemark

PHP — как настроить шаблон для подгрузки нужного кода?

есть текст например
$text="бла бла бла {foto:::37} бла бла бла {video:::82}";

нужно этот текст преобразить
$text="бла бла бла <?$modulid=37;include('mods/foto.php');?> бла бла бла <?$modulid=82;include('mods/video.php');?>";
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Salim_Gareev
Думаю нужно действовать иначе.
Сначала ищем фигурную скобку в тексте - $p1 = strpos($text, '{');
Затем закрывающую - $p2 = strpos($text, '}');
Получаем то, что между ними - $key = substr($text, $p1+1, $p2-$p1-1); //здесь может быть ошибка
Ищем аргументы - $args = explode(':::', $key);
Дальше - $modulid=$args[1];
Загружаем нужный файл - $file = include('mods/'.$args[0].'.php');
И заменяем в шаблоне - $text = str_ireplace('{'.$key.'}', $file, $text);

Но тут нужно быть внимательным. Может попасться фигурная скобка которая не является переменной шаблона, поэтому обычно используют двойные фигурные скобки. Всё что выше не факт, что правильно, но примерно суть ясна, надеюсь.
Ответ написан
@ynblpb_spb
дятел php
Советую почитать про регулярные выражения :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽