Сайт в разработке Наполняем разделы и правим ошибки — что-то может выглядеть или работать не так. Если заметили — позвоните или напишите.

PHP как текст

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

Раздел: PHP

Когда нужно показать фрагмент кода в статье, на странице поддержки или в админке, задача выглядит простой: вывести php как текст, а не запустить его как сценарий. На практике это важно, потому что браузер и сервер по-разному относятся к разным типам разметки, а неосторожная вставка может привести к поломке вывода или даже к рискам безопасности.

Самый надежный способ через экранирование

Если PHP-скрипт хранится в переменной, не печатайте его напрямую. Преобразуйте специальные символы в HTML-сущности, и тогда браузер покажет код буквами, а не интерпретирует его как разметку. Для этого обычно используют htmlspecialchars().

<?php
$code = '<?php echo "Hello"; ?>';
echo htmlspecialchars($code, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');

Что происходит в этом примере:

  • < и > заменяются на безопасные сущности;
  • Кавычки тоже экранируются, если указан флаг ENT_QUOTES;
  • Строка становится обычным текстом, который можно вставить в HTML.

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

Как показать код в HTML-разметке

Для статических примеров удобно оборачивать содержимое в <pre> и <code>. Первый тег сохраняет переносы строк и пробелы, второй подсказывает, что внутри именно код. Это не обязательно для работы PHP, но помогает сделать вывод читаемым.

Пример:

<pre><code>&lt;?php
if ($a > 10) {
    echo $a;
}
?&gt;</code></pre>

Здесь важно не перепутать две задачи:

  1. Сначала превратить символы в безопасный текст;
  2. Потом, при необходимости, оформить его как блок кода.

Если вы просто вставите кусок исходника внутрь страницы без преобразования, браузер увидит в нем элементы разметки. Именно поэтому при публикации фрагментов php как текст экранирование важнее красивого оформления.

Когда нужно вывести исходник внутри PHP-страницы

Частый случай — страница написана на PHP, а на ней надо показать пример того же языка. Тут есть два пути: хранить пример в отдельной строке или подгружать его из файла и выводить безопасно. Второй вариант удобен, если демонстрационный код большой и его не хочется дублировать в HTML.

Пример с файлом:

<?php
$code = file_get_contents('example.php');
echo '<pre><code>' . htmlspecialchars($code, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') . '</code></pre>';

Проверить результат просто: откройте страницу в браузере и убедитесь, что видите сам текст сценария, а не его выполнение. Если вместо букв появляется результат работы кода, значит где-то пропущено экранирование или пример был вставлен не в том месте.

Что делать, если нужны угловые скобки и спецсимволы

В учебных материалах и техподдержке часто встречаются символы <, >, амперсанд и кавычки. Их не нужно удалять; их нужно сохранять в тексте и отдавать браузеру уже в безопасном виде. Тогда читатель увидит точный исходник, а не его искаженный вариант.

  • Для HTML-страниц используйте htmlspecialchars();
  • Для моноширинного отображения добавляйте <pre>;
  • Для чистого текста не пытайтесь «маскировать» код вручную.

Если цель — учебный пример, можно даже специально показать открывающий и закрывающий теги в виде сущностей. Так легче объяснить, почему строка выглядит именно так и где начинается граница между разметкой и содержимым.

Итог простой: чтобы вывести php как текст, не запускайте строку как код, а переводите специальные символы в HTML-сущности. Затем при необходимости оборачивайте вывод в <pre><code>, и проверьте в браузере, что отображается исходник, а не результат его выполнения.

Другие ответы

SSL и безопасность

Как создать ssl сертификат windows

Практический разбор запроса «как создать ssl сертификат windows»: что можно сделать в Windows, какие есть варианты, как проверить результат и избежать типичных ошибок.

PHP

PHP какой тип

Коротко и по делу: разберём запрос php какой тип, покажем, где в PHP есть типы данных, как их проверять и почему вопрос бывает неоднозначным.

CSS

Как задать css в html

Практическое объяснение, как задать css в html: способы подключения, приоритеты, частые ошибки и проверка результата для страницы без лишней теории.

Заявка

Расскажите о проекте

Свяжемся в течение рабочего дня, зададим уточняющие вопросы и предложим варианты. Без навязчивых звонков.

Форма обратной связи

Отвечаем в рабочие дни с 10:00 до 19:00

Написать в Telegram