让我们进入正题。
index . php
<?php
...
$url = "www.google.com";
$val = "Is PHP better than Perl?";
$file = file_get_contents("mixedcontent.txt");
print eval("?>" . $file . "<?");
...
?>
mixedcontent.txt
<html>
...
<form action="<?php echo $url; ?>">
<input id="q" type="text" value="<?php echo $val; ?>"/>
</form>
...
</html>
由于其所依赖的商业软件的限制,这两个文件就像存根一样,并且需要分开。
现在,我意识到eval被许多人视为最后的手段,并且大多数人建议重新设计,因为eval可能存在安全风险。是否有一个替代使用eval动态评估混合内容(即html + php)?我是否可以利用create_function或call_user_func?
谢谢。
根据注释和回答部分中关于在这个特定类型的示例中使用include的建议,我修改了代码:
index . php
index . php
<?php
...
$url = "www.google.com";
$val = "Is PHP better than Perl?";
include("mixedcontent.txt");
...
?>
看起来效果不错。非常感谢大家。
我同意Jared的观点,include
是可行的,但是如果你不想使用它或者它不适合你。那么你可以试试下面的选项,我认为这是更好的选择
http://www.php.net/manual/en/function.eval.php 108091