Автор Тема: Работа с EVAL. Как обработать функцию при вытаскивании страницы из MySQL?  (Прочитано 2434 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DRon

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
Я достаю из MySQL html код через eval:

eval ("\\$str = \\"$main\\";");

И мне в него нужно вставить например virtual(); или include и пару своих функций.

Если их просто так написать, выводится не результат работы функции, а просто название самой функции, ну т.е. что я написал то и вывелось.

Я сделал перед eval preg_replace, типа
$search = array(
"",
"<\\/insert_file>"
);
$replace = array
(
"\\"; include(\\"",
"\\"); echo\\""
);

Стало работать, но почему-то файл инклудится не в то место где стоит 111.html, а перед всем текстом, который получен из БД. При этом получается так, что содержание ПОСЛЕ insert_file "присоединятся" поднимается наверх.

И получается:
Вставленный файл
Кусок ПОСЛЕ тэга
Кусок, который был должен быть ДО тэга

А должно быть:
Кусок, который был должен быть ДО тэга
Вставленный файл
Кусок ПОСЛЕ тэга

Вот как можно такую штуку провернуть, сделать несколько своих тэгов, которые будут заменяться на нужные функции, и выводится в нужном месте?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Лучше не через eval дклать. Она хоть и шустрая, однако кой чего не понимает. Например на выводит элементы классового массива, а вместо этого пишет банальное Array.
AS IS...

Оффлайн DRon

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
ThE0ReTiC
А как по другому?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Ну, как минимум, определиться, где ты все-таки,хранишь код - в инклюдах, или в базе.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
html код лучше в инклюдах хранить.
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28