Запуск PHP кода из смешаной строки

421
02 января 2017, 21:31

Здравствуйте. Пишу что-то вроде редактора с PHP кодом и на пути создания возникла проблема. Код в редакторе выглядит так:

<html>
   <head>
   </head>
   <body>
      <?php echo 'Текст'; ?>
   </body>
</html>

Т.е. если я буду запускать этот код в PHP файле просто через echo, то часть с php не запустится. Если я буду запускать его через eval, то он выдаст ошибку, т.к. это не чистый php код.

Так вот, каким образом можно это запустить, что бы воспринялась и часть с html, и часть с php тоже запустилась?

Answer 1

Ты не принть контент файла, а принть через file_get_contents документ, где запустится твой редактируемый файл через инклуд. Так и пхп-код выполнится и будет готовый хтмл-код

Answer 2

Эту проблему я решил таким образом:

$dir = "./_projects/";
mkdir($dir, 0777, true); // Создаю директорию
// Создаю в ней нужный мне файл     
$index = fopen($dir."/index.php", "w");
fwrite($index, $_GET["text"]);
fclose($index);
// Открываю содержимое этого файла
include($dir."/index.php");
rdir($dir); // Удаляю директорию

Довольно костыльный вариант, но работает очень неплохо

READ ALSO
JQuery не работает с добавленными элементами с помощью AJAX

JQuery не работает с добавленными элементами с помощью AJAX

Не работает этот скрипт с элементами, добавленными через ajax

524
Найти и выделить текст в Richtextbox. Не выделяется первое слово

Найти и выделить текст в Richtextbox. Не выделяется первое слово

Вот метод поиска строки в двух формах:

410
Копирование файлов в папку с ограничением в 100МБ

Копирование файлов в папку с ограничением в 100МБ

Пытаюсь скопировать (массив расширений файлов) в папку ( и в эту папку которую я копирую сделать ограничение в 100МБ), если лимит превышен файлов...

433