让我们直接进入它。
索引.php
<?php
...
$url = "www.google.com";
$val = "Is PHP better than Perl?";
$file = file_get_contents("mixedcontent.txt");
print eval("?>" . $file . "<?");
...
?>
混合内容.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 吗?
谢谢你。
更新
根据评论和答案部分中的建议,用于这种特定类型的示例,我修改了代码:
索引.php
索引.php
<?php
...
$url = "www.google.com";
$val = "Is PHP better than Perl?";
include("mixedcontent.txt");
...
?>
看起来它运作良好。非常感谢大家。