如何用PHP输出HTML文件的源代码而非渲染后的内容
你代码出错的核心原因是误用了html_entity_decode()函数,该函数的作用是将HTML实体还原为原生HTML标签,浏览器拿到还原后的标签会直接渲染,你之前运行后输出的可点击的「占位文本」就是<a>标签被渲染后的结果,自然看不到完整源代码。
你只需要将html_entity_decode()替换为htmlspecialchars()即可实现需求,该函数会将HTML中的特殊字符(<、>、"、&等)转义为浏览器不会解析的实体字符,最终直接展示原始源代码。
正确代码示例:
<pre><code> <?php echo htmlspecialchars(file_get_contents('snippet.html')); ?> </code></pre>
如果snippet.html中包含中文等非ASCII字符,可额外指定编码参数避免乱码:
<pre><code> <?php echo htmlspecialchars(file_get_contents('snippet.html'), ENT_QUOTES, 'UTF-8'); ?> </code></pre>
内容的提问来源于stack exchange,提问作者Raul76
相关产品推荐
相关产品推荐

