Всем привет.
Пишу движок для сайта. В таблице pages находятся страницы сайта с включёнными в них модулями. Названия модулей обособляются двойными фигурными скобками: {{ и }}.
Например страница с id = 1 может выглядеть вот так:
{{head}}
Текст раздела.
{{foot}}
В таблице modules хранится содержимое модулей.
В index.php сайта на этом движке есть такие строки:
Код:
$result = mysql_query("SELECT * FROM `pages` WHERE `id` = '$id'", $db);
$page_content = mysql_result($result,0,"content");
$result_page = mysql_query("SELECT * FROM `modules`", $db);
while ($row = mysql_fetch_row($result_page)) {
$mod = "{{" . $row[0] . "}}";
$page_content = str_replace($mod, $row[1], $page_content);
}
echo $page_content;
Всё прекрасно работает, если сайт статичен (только HTML).
Вопрос:
Как реализовать вставку php-кода (например голосования) так, чтобы админ сайта мог указывать ссылку на него, как и на другие модули? Типа {{vote}}.
Возможно, include, require_once, create_function... Но у меня не получилось из-за того, что echo не обрабатывает php-код, а выводит его текстом. Может что-то поменять в самой структуре вывода данных? Не использовать echo? Тогда как?