PHP:你如何指定你不想要一个字符串评估?

时间:2010-01-17 01:18:52

标签: php string

我在数据库中有一些php代码

$x = "<?php some code here ?>";

但我想将整行输出到浏览器而不用php评估它。现在它正在评估它不幸。我想逃避它,但这没有用。一个人怎么能做到这一点?

由于

编辑:

<?php

echo '<? hey ?>';
echo "<dog dog>";

?>

如果我运行该代码,狗狗标签会显示在浏览器源代码中,而<? hey ?>则不会。似乎它仍在评估它。

编辑,得到答案,谢谢大家。

7 个答案:

答案 0 :(得分:4)

只是做:

echo htmlspecialchars($x);

答案 1 :(得分:3)

你想让它看起来像那样吗?如果是这样,您需要使用&lt;&gt;(严格来说只需要&lt;)来对字符串进行编码。

答案 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来对输入执行语法高亮显示