Предположим, что у нас есть в БД какие-то шаблоны, например, писем или сообщений пользователю, в которых динамически нужно менять определенные куски, допустим, вставлять текущую дату или вычислять, какое число будет через 10 дней. Т.е. в шаблоне есть места, куда необходимо прописать различные php-функции, которые бы при выводе шаблона выдавали необходимые значения. Эта возможность могла бы иметь вид: "Привет! Сегодня у нас {myphp date("d.m.Y")} , а через 10 дней это будет {myphp date("d.m.Y", strtotime("+10 day",time()))}".
Делается это так:
$tpl = "Привет! Сегодня у нас {myphp date("d.m.Y")} , а через 10 дней это будет {myphp date("d.m.Y", strtotime("+10 day",time()))}"; preg_match_all('/{myphp(.+)}/',$tpl,$m); if($m[1][0]) for($i=0;$i<count($m[1]);$i++) { $tpl = preg_replace('/{myphp'.preg_quote($m[1][$i]).'}/',eval("return ".$m[1][$i].";"),$tpl); }