@seemark

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

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

нужно этот текст преобразить
$text="бла бла бла <?$modulid=37;include('mods/foto.php');?> бла бла бла <?$modulid=82;include('mods/video.php');?>";
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 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
Советую почитать про регулярные выражения :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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