2015-04-17 36 views
1

我使用this tool创建了一个HTML/JSS编辑器,编辑时在(预览)中显示结果。如何使用JS在iframe中运行PHP可编辑?

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(预览)运行的最好方法?

回答

1

你是什么意思

在iframe的瞬间运行(预览)


如果你想用户编辑PHP代码在客户端完全运行和显示输出浏览器,
那么没有实用的方法来做到这一点。

因为,运行PHP代码,
你需要在首位PHP运行。

现在,客户端是否安装PHP在他们的系统(PC)或没有,
你必须通过浏览器无法访问到。

现在,如果你是不顾一切地运行的代码(您的服务器上,然后)和输出发送到客户端浏览器,
然后
警告 :: 这是非常危险的
回吐字符串来自未知(因此不受信任)的来源,并且在服务器上运行它们作为php代码,您可以在短时间内轻松地使您的服务器遭到攻击(和重击):p
因为
你不知道他们在写什么代码(除非你明确地运行前中度吧:P)

(现在如果你不知道你在做什么)
可以使用这里所描述的eval构建:
http://php.net/manual/en/function.eval.php

eval("?> $str <?php ");