Как запустить PHP редактируемый в iframe с JS?

Я создал редактор HTML / JSS, используя этот инструмент, который при редактировании отображает результат в <iframe> (Предварительный просмотр).

editor.getSession().addEventListener('change', function () {
iframe.contentWindow.document.body.innerHTML = editor.getSession().getValue(); // ex: '<div>Hi!</div>'
});

Это легко, проблема в редакторе PHP … очевидно, если я вставлю код PHP в innerHTML это не может быть выполнено на стороне клиента.

Если значение:

<?php
$name= 'John Doe';
echo $name;
?>

Это показывает:

<!--?php $name= 'John Doe'; echo $name; ?-->

Каков наилучший способ сохранить этот временный код и мгновенно запустить его в iframe (предварительный просмотр)?

1

Решение

Что вы подразумеваете под

запустить мгновенно на iframe (превью)

Если вы хотите, чтобы отредактированный пользователем php-код запускался и полностью отображал выходные данные в браузере на стороне клиента,

тогда нет никакого прагматичного способа сделать это.

Потому что для запуска PHP-кодов,

Во-первых, вам нужна среда выполнения php.

Теперь, независимо от того, установлен ли клиент в своей системе (ПК) или нет,

у вас нет доступа к этому через браузер.

Теперь, если вы отчаянно хотите запустить код (на своем сервере) и отправить вывод в браузер клиентов,

затем

ПРЕДУПРЕЖДЕНИЕ:: Это очень опасно,

взятие строки из неизвестных (и, следовательно, ненадежных) источников и
запустив их в виде php-кода на сервере, вы можете легко и быстро взломать ваш сервер (packed): p

так как,
вы не знаете, какой код они пишут (если вы явно не модерируете его перед запуском: p)

(Теперь, если вы не знаете, что делаете)

Вы можете использовать Eval построить как описано здесь:

http://php.net/manual/en/function.eval.php

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

Другие решения

Других решений пока нет …