eval功能不起作用

时间:2015-08-19 08:54:19

标签: php mysql variables preg-replace eval

我想在流程结束时发送一些电子邮件,html模板保存在一个带有{var}的数据库中(括号用变量替换)。 在一个页面上,从数据库中获取模板,并使用preg_replace函数替换括号和$,最后使用eval的函数,但这不起作用。

//Variables
$var1= 'testo';
$var2= 'testo';
$var3= 'testo';
$var4= 'testo';
$var5= 'testo';

$email_template = mysqli_query($conn, "SELECT * FROM email_template WHERE email_type = 'nuova_prenotazione'");
$email_Data  = mysqli_fetch_array($email_template);

$title = $email_Data['email_subject'];
$message = $email_Data['email_message'];

$pattern = '/{(\w+)}/i';$replacement = "$$1";
$str = preg_replace($pattern, $replacement, $message );

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

echo $str;

preg_replace函数工作正常,但变量保持$ var,那么eval函数不起作用。

0 个答案:

没有答案