在回显中显示php代码

问题描述:

如何在打印/回显中打印php代码?在回显中显示php代码

我的意思是这样的:

<?php echo "<?php ?>"; ?> 

应该输出:<?php ?>我的屏幕上,但我收到一个空白页。我必须使用任何特殊转义?

+1

你试图使一个** **奎因? http://en.wikipedia.org/wiki/Quine_%28computing%29 – SteeveDroz 2013-03-27 12:28:29

<?php echo htmlspecialchars('<?php ?>'); ?> 
+0

好的,谢谢,我现在感觉很蠢,显然这很有效。 – 2013-03-27 12:26:55

+1

如果您看到该页面,那么就在那里,但浏览器不会将其呈现为可视元素,因为它的脚本,因此您应该将其作为实体放置。 – 2013-03-27 12:27:48

+0

@Marius Prollak如果它的工作正常,并且你看到的答案意味着接受它作为答案 – 2013-03-27 12:50:25

如果返回的文件的内容类型是HTML,Akam的解决方案将整理PHP。

或者,您可以将Content-Type更改为Text,从而绕过HTML呈现。

<?php 

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

echo '<?php ?>'; 

?> 

。当然,这会影响整个,而不只是它的部分。因此,将PHP脚本文件的内容作为独立页面显示会很有用,但如果您想在HTML页面中显示PHP代码片段,那么Akam的解决方案将更适合于此。

如果您打印并且假装将其视为HTML,则浏览器将解释该标签并且不显示任何内容,但如果您查看源代码,您仍然可以看到它。 要正确显示<和>标签,您应该使用& lt;和& gt;或使用htmlentities()htmlspecialchars()功能:

<?php 
    echo htmlentities('<?php ?>'); 
?> 

有建立在str_replace另一种解决方案,它接受为其参数搜索和替换阵列。

<?php 
echo str_replace(array('<','>'),array('&lt;','&gt;'),'<?php ?>'); 
?> 

看看下面的演示:http://phpfiddle.org/main/code/3hp-itx