Это кажется достаточно простым, но, к сожалению, браузер интерпретирует <?php
как начало HTML-тега.
Чтобы избежать этого, вы должны использовать htmlentities в коде PHP.Кроме того, чтобы сохранить форматирование, функция nl2br.
c.php:
<?php
$f='snizz';
function plip($f){ echo $f; }
$r=array(1,2,3,32);
a.php:
<?php
$f=file_get_contents('c.php');
echo nl2br(htmlentities($f));
Это даст правильный вывод вбраузер.
Мне тоже нравится ответ с функцией highlight_string.