我目前正在开发CMS系统,该系统直接根据保存在MySQL数据库中的信息构建网站。
这是我遇到的问题:
这就是我一直在尝试的:
在frontend.php里面:
echo $template_header;
在$ template_header中:
<tr><td><center>'.$menu_code.'</center></td></tr>
在IE中运行frontend.php应该是什么样子:
<tr><td><center><script>rest of menu coding in here</script></center></td></tr>
运行时的样子:
<tr><td><center>'.$menu_code.'</center></td></tr>
它像文字一样显示它。这可能是一个简单的问题,但是在这个项目的紧迫期限内,我们将非常感谢任何帮助,我们将非常感谢任何建议。谢谢
答案 0 :(得分:3)
如果我理解正确的话,简单的替换就可以解决问题:
$template_data = "<tr><td><center>{%REPLACE_WITH_CONTENT%}</center></td></tr>";
$template_data = str_replace("{%REPLACE_WITH_CONTENT%}", $menu_code, $template_data);
答案 1 :(得分:1)
如果我理解正确,听起来你想要eval(),它会将字符串解释为PHP代码,这意味着对$ menu_code的任何引用都将被视为PHP,而不是文本。
从手册:
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
输出以下内容
This is a $string with my $name in it.
This is a cup with my coffee in it.
正如评论中所指出的,这种方法(eval())为重大安全问题打开了一扇大门。此方法将评估任意代码,这可能非常危险。
答案 2 :(得分:-1)
您似乎在寻找的是:
eval( $menu_code );