我想展示 PHP 文件抛出的渲染输出作为文本。文本应该包含 HTML 标签。就像您在网页上执行“查看源代码”时所获得的那样。我如何实现这一点?
既然您提到希望输出结果类似于查看源代码,那么您可以在脚本开头简单地声明内容类型为纯文本。
这将使输出结果呈现为文本形式,且文本文件可供下载。
例如:
<?php
header("Content-Type: text/plain");
echo '<html><head><title>Hello</title></head><body><p>helloooooo</p></body></html>';
echo $_SERVER['REMOTE_ADDR'];
?>
希望这能讲清楚,否则如果你想向用户显示此内容,另一种方法是将输出通过htmlspecialchars();函数进行传递。$content = '<html><head><title>Hello</title></head><body>p>helloooooo</p></body></html>';
echo htmlspecialchars($content);
echo
、print
等语句。现在他可能已经将整个源代码放入引号中... - RichardBernardstext/plain
,而不是plain/text
。 - Lexikoshtmlspecialchars()
显示源代码。$outputType = 'viewsource';
ob_start();
$output = ob_get_contents();
ob_end_clean();
if($outputType == 'viewsource') {
echo htmlspecialchars($output);
} else {
echo $output;
}
show_source("/link/to/my_file.html");
要小心使用它,因为它可能会暴露密码和其他敏感信息。
show_source
只会暴露一些PHP代码。 :/ - maxxon15有多种方法可以实现这一点,最简单的方法是使用pre
标签,或者您可以将文件从.php
重命名为.phps
,或者使用highlight_file($file)
来对代码进行语法高亮。还有file_get_contents()
和show_source()
,正如@hackitect所提到的。
但请记住,任何HTML代码都必须在pre
标签中输出并进行转义。
我曾经用的另一个技巧是创建一个包含view-source URL的超链接。
在Chrome、Firefox和Opera上完美运行,但在IE上不行。
<a target="_blank" href="view-source:https://dev59.com/vYXca4cB1Zd3GeqPHFk5">获取纯文本</a>
htmlspecialchars
发送你的HTML应该可以解决问题。 - Class<pre>
tag. - giorgiopre
标签并不能让它们神奇地变得可见,它们会像任何 HTML 标签一样被处理。如何在 <code>/<pre> 标签中直接显示 <div> 标签? - Class