Перехватить вывод require в php, или выполнить php в file_get_contents

… Значит, вводим план-перехват. Только сразу подготовь рапорт, что план-перехват никаких результатов не дал.
The Lord of the Rings: The Two Towers

Для того, чтобы подгрузить содержимое файла и вывести его в определенном месте веб страницы, можно использовать file_get_contents, но если в составе загруженного таким образом файла будет содержаться php код, он не обработается.
Чтобы php-код выполнился в динамически загружаемом файле, можно воспользоваться командой require, но она выводит результат мгновенно, а если мы предварительно формируем вывод в переменную, то такой способ тоже не подходит… Или подходит?

В php Есть набор команд для буферизации вывода, чтобы включить буфер вывода, воспользуемся командой ob_start(). После этого, вызываем require и забираем результат в переменную командой ob_get_clean();


function GetPHP($file_name){
    ob_start();
    require( $file_name );
    return ob_get_clean();
}

Здесь представлена функция, которая возвращает результат выполнения php скрипта в переменную.


echo GetPHP('some-file.php');