Как уже упоминалось в нескольких других ответах, это сильно зависит от страницы, на которой вы отображаете вывод.
Вывод необработанного текста
Если вы не добавляете какой-либо другой контент или HTML на страницу. Просто измените заголовок HTTP Content-Type на «text / plain»; то есть:
header('Content-Type: text/plain');
echo file_get_contents('path/to/file');
Как всегда, HTTP-заголовки должны отправляться до любого содержимого, отправляемого в браузер.
(X) Вывод HTML
Замена \n
на <br/>
будет не исправлять проблемы усечения пробелов; то есть удаление соседних пробелов и / или вкладок. Самый простой способ обойти это, как уже упоминалось ранее, это использовать тег <pre>
для включения содержимого файла. К сожалению, этого недостаточно для удовлетворения XHTML. Существует ряд символов, которые являются недопустимыми в XML, если они не экранированы должным образом, в частности: &
, <
и >
.
К счастью, это также легко исправить с помощью метода str_replace
:
<code>$raw = file_get_contents('path/to/file');
echo '<pre>';
echo str_replace($raw, array('>','<','&','%'), array('>','<','&','%'));
echo '
';