Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何指定不希望对字符串求值?_Php_String - Fatal编程技术网

PHP:如何指定不希望对字符串求值?

PHP:如何指定不希望对字符串求值?,php,string,Php,String,我在数据库中有一些php代码,就像这样 $x = "<?php some code here ?>"; $x=”“; 但是我想将整行代码输出到浏览器,而不需要php对其进行评估。不幸的是,现在它正在评估它。我想逃离它,但没有成功。一个人如何才能做到这一点 谢谢 编辑: 如果我运行该代码,那么dog-dog标记将显示在浏览器源代码中,而as不会显示。看起来它仍然在评估它 编辑,得到答案,谢谢大家。使用“(单引号)而不是“(双引号)你想让它看起来像那样吗?如果是这样,你需要使用和

我在数据库中有一些php代码,就像这样

$x = "<?php some code here ?>";
$x=”“;
但是我想将整行代码输出到浏览器,而不需要php对其进行评估。不幸的是,现在它正在评估它。我想逃离它,但没有成功。一个人如何才能做到这一点

谢谢

编辑:


如果我运行该代码,那么dog-dog标记将显示在浏览器源代码中,而as
不会显示。看起来它仍然在评估它


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

使用“(单引号)而不是“(双引号)

你想让它看起来像那样吗?如果是这样,你需要使用
(严格来说只有
是必需的)“单引号”告诉PHP按原样插入字符串。它将按原样包含所有空格和字符

“双引号”告诉PHP解析字符串。这减少了空格,替换了变量,并解析了任何其他神奇的字符串

最后,`backticks`用于shell命令


如果您正试图在浏览器中完全像那样显示它,您可能希望尝试
htmlentities($string)

Ih PHP双引号求值表达式,单引号则不行:

$a = 123;
$b = "value of $a"; // value of 123
$c = 'value of $a'; // value of $a
单引号的唯一问题是,它们不理解换行符的字符,如
\n
(当放入单引号时,这些字符将被打印为
\n
而不是换行符)

这就是你所需要的:

echo '<?php some code here ?>';
echo';
?


有关更多信息,请参阅PHP手册。

您对评估内容有点不清楚

如果你在谈论变量,这里有很多正确的答案

如果您谈论的是
块,则有问题。如果该字符串在PHP块中(如果您指的是开始和结束PHP语句),则不应计算该字符串

可能您在操作前后错过了打开和关闭功能?

只需执行以下操作:

echo htmlspecialchars($x);

如果你正在输出PHP代码,你甚至可以考虑使用它来在输入< /P>上执行语法高亮显示。我不明白你所说的“整行”是什么意思。你是在谈论从“代码> $x< /代码>到<代码>的一切吗?,还是只是引用的字符串?”John Baker:你确定吗?这不是一个例子吗?浏览器不显示输出,因为它认为它是一个标记“有问题吗?换句话说,从浏览器:查看HTML源代码。。。你可能会惊讶于你会发现什么单引号/双引号字符串是一种转移注意力的方法。你说的是执行,而不是评估。这似乎没有任何区别,它仍然不会输出字符串。我还是不明白你在问什么。执行查看源代码的操作。你看到你说过要用单引号写吗?(只是确认一下)我就是这么做的。但是它在浏览器的view-source中不可见。是的,这正是我想要的。它现在完美地输出了“”,因此它现在在源代码中可见并且可见

echo htmlspecialchars($x);