«Почему» сценарий ничего не печатает?

Когда я запускаю следующий скрипт, ничего не печатается. Почему это так ?

<?php $var = "<?php echo 'Hey !'; ?>"; echo $var; ?> 

Related of "«Почему» сценарий ничего не печатает?"

Он отзывается «ничего», потому что ваш браузер не понимает теги <?php , поэтому он не будет показывать содержимое тега; он должен показывать что-то, когда вы выбираете просмотр источника страницы.

Причиной такого поведения является то, что тип содержимого по умолчанию для вашего сценария задан как text/html (вы можете подтвердить это, посмотрев заголовки ответа), и в контексте HTML вы должны использовать htmlspecialchars()

 echo htmlspecialchars($var); 

На самом деле, как правило, вы всегда должны избегать переменных, когда вы их выводите.

В качестве альтернативы вы можете сообщить браузеру, что ваш вывод не должен интерпретироваться как HTML; вы можете сделать это, установив соответствующий заголовок ответа:

 header('Content-Type: text/plain'); 

С указанным выше типом контента ваш вывод отображается в браузере дословно.

изменить это

 $var = "<?php echo 'Hey !'; ?>"; 

в этот

 $var = "&lt;?php echo 'Hey !'; ?&gt;"; 

потому что ваш syntex ошибочен для php-движка … make change as:

 <?php $var = "<?php echo 'Hey !'; ?>"; echo $var; ?> 

в

 <?php $var = 'Hey !'; echo $var; ?> 

Задайте тип контента как text и вы увидите свой вывод в своем браузере.

 <?php header('Content-type: text/plain'); $var = "<?php echo 'Hey !'; ?>"; echo $var; ?> 

Это потому, что ваш браузер ожидает html, и он не понимает те php-теги, которые у вас есть на выходе.

Другим разумным использованием функции htmlspecialchars будет лучший вариант.

попробуй что-нибудь вроде этого

 $var = '<?php echo \'Hey !\';?>'; echo htmlspecialchars($var);