Там уже несколько ответов на это, но только, чтобы добавить мой $ 0,02 ...
Этот код:
<?php
$test = '<?php echo "hello world!"; ?>';
echo $test;
?>
Создает пустой белый экран в браузере, но при просмотре источника вы увидите этот вывод:
<?php echo "hello world!"; ?>
Это связано с тем, как браузер представляет собой ваш PHP-код. Браузеры не предназначены для рендеринга PHP-кода, а скорее для разметки HTML. Если вы повторяете код, потому что вы проверяете, что будет написано в вашем файле, просто посмотрите источник, чтобы проверить, что выводится, то, что вы хотите записать в файл. Вы не увидите его в самом браузере, потому что он не знает, как отобразить тег ?php
, не говоря уже о том, что делать с атрибутом echo
.
Возможно, как и все уже заявленные, вы можете передать строку через htmlspecialchars
, если все, что вы хотите сделать, это визуализировать ее в браузере, не просматривая исходный код.Вы не захотите это делать, если вы пишете его в файл, но можете помочь вам отладить ваш вывод.
Другим вариантом является запуск сценария из командной строки. Он не будет пытаться сделать ваш вывод и вместо этого просто выплюнуть его дословно.
Вы эхом отдаете код в HTML-вывод? Если это так, он интерпретируется как тег и требует экранирования, чтобы появиться на экране. – grossvogel
Вы просто даете выход или также запускаете его? –
Он помещается в файл .php, который будет запущен позднее. –