You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PHP代码以纯文本形式展示,而非被服务器解析执行?

解决方案

独立PHP文件中使用的方案

你之前直接用<code>标签包裹无效,核心原因是PHP是服务端执行语言,只要你的代码写在<?php ?>标记内,服务端会在输出内容到浏览器之前就先执行对应代码,根本不会走到浏览器识别<code>标签的步骤。

正确做法是用PHP的nowdoc语法定义要展示的代码字符串(不需要转义内部的引号、PHP标记),再通过htmlspecialchars()函数转义特殊字符后输出,同时用<pre><code>标签保留代码的换行缩进格式,示例代码如下:

<?php
// 用nowdoc语法定义要展示的原始代码,内部内容不会被PHP解析执行
$display_code = <<<'RAW_CODE'
<!-- Ad Code - DO NOT MODIFY -->

<?php

function isUsignMobileDeviceTrue() {
    return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
// If the user is on a mobile device, show ads
if(isUsignMobileDeviceTrue()): ?>

<?php echo file_get_contents("https://www.example.com/ad1.php");
echo 'https://www.example.com';
?>

<?php endif;?>

<!-- //Ad Code End-->
RAW_CODE;

// 转义特殊字符后输出,保留代码格式
echo '<pre><code>' . htmlspecialchars($display_code) . '</code></pre>';
?>

WordPress场景使用的方案

  • 如果是在WordPress主题模板、自定义页面模板中插入展示代码,直接用上面的方案即可。
  • 如果是在文章编辑器中插入代码,不要直接在自定义HTML块内写PHP代码,使用编辑器自带的代码块区块插入内容即可避免代码被执行。

内容的提问来源于stack exchange,提问作者r0naldinio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:39:03