2015-04-17 35 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 ");