11
« : 07 Сентября 2002, 00:15:05 »
Я достаю из MySQL html код через eval:
eval ("\\$str = \\"$main\\";");
И мне в него нужно вставить например virtual(); или include и пару своих функций.
Если их просто так написать, выводится не результат работы функции, а просто название самой функции, ну т.е. что я написал то и вывелось.
Я сделал перед eval preg_replace, типа
$search = array(
"",
"<\\/insert_file>"
);
$replace = array
(
"\\"; include(\\"",
"\\"); echo\\""
);
Стало работать, но почему-то файл инклудится не в то место где стоит 111.html, а перед всем текстом, который получен из БД. При этом получается так, что содержание ПОСЛЕ insert_file "присоединятся" поднимается наверх.
И получается:
Вставленный файл
Кусок ПОСЛЕ тэга
Кусок, который был должен быть ДО тэга
А должно быть:
Кусок, который был должен быть ДО тэга
Вставленный файл
Кусок ПОСЛЕ тэга
Вот как можно такую штуку провернуть, сделать несколько своих тэгов, которые будут заменяться на нужные функции, и выводится в нужном месте?