我使用this tool创建了一个HTML / JSS编辑器,当编辑时会在<iframe>
(预览)中显示结果。
editor.getSession().addEventListener('change', function () {
iframe.contentWindow.document.body.innerHTML = editor.getSession().getValue(); // ex: '<div>Hi!</div>'
});
这很简单,问题在于PHP编辑器......很明显,如果我在innerHTML
中插入PHP代码,则无法在客户端执行。
如果值为:
<?php
$name= 'John Doe';
echo $name;
?>
这表明:
<!--?php $name= 'John Doe'; echo $name; ?-->
保存此临时代码并立即在iframe(预览)上运行的最佳方法是什么?
答案 0 :(得分:1)
你是什么意思
立即在iframe上运行(预览)
如果您希望用户编辑的PHP代码在客户端浏览器中运行并完全显示输出,
那么没有务实的方法来做到这一点。
因为,要运行php代码,
你首先需要一个php运行时。
现在,客户端是否在他们的系统(PC)中安装了php,
您无法通过浏览器访问它。
现在,如果您急于运行代码(然后在您的服务器上)并将输出发送到客户端浏览器,
然后
警告 :: 这是非常危险的,
从未知(因而不受信任)的来源获取字符串并在服务器上将它们作为php代码运行,您可以在短时间内轻松地破坏(和打击)您的服务器:p
因为,你不知道他们正在编写什么代码(除非你在运行之前明确地调整它:p)
(现在如果你不知道自己在做什么)
你可以使用 eval 结构,如下所述:
http://php.net/manual/en/function.eval.php
eval("?> $str <?php ");