Вывод визуализированного HTML в виде простого текста

Я пытаюсь показать результат рендеринга, брошенный файлом PHP, в виде текста.

Текст также должен содержать теги HTML.

Что-то вроде того, что вы получите, когда сделаете «Просмотр источника» на веб-странице.

Как мне этого добиться?

4

Решение

Поскольку вы упомянули, что вы хотите, чтобы вывод был похож на просмотр исходного кода, вы можете просто объявить тип содержимого в виде простого текста в начале вашего скрипта.

Это отобразит вывод в виде текста, и текстовый файл можно загрузить.

Пример:

<?php
header("Content-Type: text/plain");
echo '<html><head><title>Hello</title></head><body><p>helloooooo</p></body></html>';
echo $_SERVER['REMOTE_ADDR'];
?>

Надеюсь, что это будет иметь смысл, иначе, если вы захотите показать это пользователю, альтернативным способом будет передача вывода через htmlspecialchars (); функция.

Пример:

$content = '<html><head><title>Hello</title></head><body>p>helloooooo</p></body></html>';
echo htmlspecialchars($content);
9

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

попробуйте использовать PHP show_source (); функция.

дайте ему ссылку на ваш текстовый файл, например

show_source("/link/to/my_file.html");

и будь осторожен с этим потому что он может раскрыть пароли и другую конфиденциальную информацию

1

Для этого проще всего перехватить все, что отправлено на выход, и буферизовать его. В конце вы можете решить, хотите ли вы сделать это так же, как всегда, или хотите ли вы использовать htmlspecialchars() для отображения источника.

В начале вашего кода поместите следующее утверждение:

$outputType = 'viewsource';
ob_start();

В конце кода добавьте следующее:

$output = ob_get_contents();
ob_end_clean();
if($outputType == 'viewsource') {
echo htmlspecialchars($output);
} else {
echo $output;
}
1

Есть несколько способов сделать это, самый простой из которых pre теги, или вы можете переименовать файл из .php в .phpsили используйте highlight_file($file) который также синтаксис-выделить ваш код. Есть также file_get_contents() и даже show_source() как упоминал @hackitect.

Помните, что любой HTML-код должен быть выведен в pre теги и сбежали.

0

Еще один трюк, который я на самом деле раньше делали гиперссылку с URL-адресом источника просмотра.

Отлично работает на Chrome, Firefox и Opera, но не на IE.

<a target="_blank" href="view-source:http://stackoverflow.com/questions/27034642/output-rendered-html-as-plain-text">Get Plain Text</a>

0
По вопросам рекламы [email protected]