Выход из режима HTML-разметки

PHP-интерпретатор игнорирует всё, что разместили вне пары открывающего и закрывающего тегов, что разрешает добавлять в файлы смешанное содержимое. Это разрешает встраивать PHP-код в HTML-документы, чтобы, например, создавать шаблоны.

<p>PHP-интерпретатор проигнорирует разбор PHP-кода в этом параграфе, а текст отобразится в браузере.</p>
<?php echo 'А эту строку файла — разберёт.'; ?>
<p>Этот параграф PHP тоже не станет анализировать как PHP-код и отправит в браузер.</p>
Это работает предсказуемо, поскольку когда PHP-интерпретатор встречает закрывающие теги ?>, он просто начинает выводить всё, что находит, — за исключением перевода строки, который идёт сразу за закрывающим тегом, как описывает раздел «Разделение инструкций», — пока не встретит другой открывающий тег, если только закрывающий тег не встретился в середине условной инструкции, тогда интерпретатор определяет результат условия, прежде чем решить, что пропустить. Следующий пример показывает это поведение.

Структуры с условиями.

Пример #1 Продвинутый выход из режима HTML-разметки с условиями

<?php if ($expression == true): ?>
Это отобразится, если выражение истинно.
<?php else: ?>
Иначе отобразится это.
<?php endif; ?>
В этом примере PHP пропустит блок, для которого условие не выполняется, даже если блок указали за пределами открывающего и закрывающего тегов; PHP пропустит блоки по условию, поскольку PHP-интерпретатор пропустит блоки внутри условия, которое не выполняется.

Для вывода больших блоков текста выход из режима разбора PHP-кода часто эффективнее отправки текста конструкциями echo или print.

Замечание:

В XML- или XHTML-документы PHP-код встраивают внутри тегов <?php ?>, чтобы документы соответствовали стандартам.