我在数据库中有一些php代码
$x = "<?php some code here ?>";
但我想将整行输出到浏览器而不用php评估它。现在它正在评估它不幸。我想逃避它,但这没有用。一个人怎么能做到这一点?
由于
编辑:
<?php
echo '<? hey ?>';
echo "<dog dog>";
?>
如果我运行该代码,狗狗标签会显示在浏览器源代码中,而<? hey ?>
则不会。似乎它仍在评估它。
编辑,得到答案,谢谢大家。
答案 0 :(得分:4)
只是做:
echo htmlspecialchars($x);
答案 1 :(得分:3)
你想让它看起来像那样吗?如果是这样,您需要使用<
和>
(严格来说只需要<
)来对字符串进行编码。
答案 2 :(得分:3)
'单引号'告诉PHP完全按原样填充字符串。它将完全包含所有空格和字符。
“Double Quotes”告诉PHP解析字符串。这会减少空格,替换变量,并解析任何其他魔法字符串。
最后,`backticks`用于shell命令。
如果您尝试在浏览器中显示它,则可能需要尝试htmlentities($string)
。
答案 3 :(得分:0)
使用'(单引号)代替“(双引号)
答案 4 :(得分:0)
PHP双引号评估表达式,单引号不是这样:
$a = 123;
$b = "value of $a"; // value of 123
$c = 'value of $a'; // value of $a
单引号的唯一问题是,他们无法理解换行符\n
等字符(单引号时会打印为\n
而不是换行符。)
所有你需要的是:
echo '<?php some code here ?>';
有关详细信息,请参阅PHP手册中的Strings。
答案 5 :(得分:0)
您对评估的内容有点不清楚。
如果你在谈论变量,那么这里有很多正确答案。
如果你在谈论<? ?>
阻止,那就错了。如果在PHP块中(如果您的意思是打开和关闭PHP语句),则应该 not 来评估该字符串。
也许您在手术前后错过了开始和结束<?
?>
?
答案 6 :(得分:0)
如果您正在输出PHP代码,您甚至可以考虑使用highlight_string来对输入执行语法高亮显示