当我运行以下脚本时,没有任何内容被打印出来。为什么会这样?
<?php
$var = "<?php echo 'Hey !'; ?>";
echo $var;
?>
答案 0 :(得分:1)
它回应“没有”,因为您的浏览器不理解<?php
标签,因此它不会显示标签内容;它应该在您选择查看页面源时显示一些内容。
此行为的原因是脚本的默认内容类型设置为text/html
(您可以通过查看响应标头来确认),并且在HTML的上下文中,您应该使用{{3 }}
echo htmlspecialchars($var);
事实上,作为一般规则,输出时应始终适当地转义变量。
或者,您可以让浏览器知道您的输出不应被解释为HTML;您可以通过设置适当的响应标头来完成此操作:
header('Content-Type: text/plain');
使用上述内容类型,浏览器会逐字显示您的输出。
答案 1 :(得分:0)
更改此
$var = "<?php echo 'Hey !'; ?>";
进入这个
$var = "<?php echo 'Hey !'; ?>";
答案 2 :(得分:0)
因为你的syntex是错误的php引擎... 改变为:
<?php
$var = "<?php echo 'Hey !'; ?>";
echo $var;
?>
到
<?php
$var = 'Hey !';
echo $var;
?>
答案 3 :(得分:0)
将内容类型设置为text
,您可以在浏览器中查看输出。
<?php
header('Content-type: text/plain');
$var = "<?php echo 'Hey !'; ?>";
echo $var;
?>
这是因为你的浏览器需要html而且它不理解输出中的php标签。
使用htmlspecialchars
函数的其他方法是更好的选择。
答案 4 :(得分:0)
尝试这样的事情
$var = '<?php echo \'Hey !\';?>';
echo htmlspecialchars($var);