由于PHP';s变量,$\u服务器和<;地址>;

由于PHP';s变量,$\u服务器和<;地址>;,php,validation,xhtml,var-dump,Php,Validation,Xhtml,Var Dump,我在验证包含一些基本PHP变量的文档时遇到了这个问题。我主要使用html的h1、h2和预编码来格式化文本 我的问题是,当我验证文档时,它会出现一个错误 问题区域是文件的这一部分: <h2>Server Info</h2> <pre> <?php echo $_SERVER; print_r(var_dump($_SERVER)); ?> </pre> 服务器信息 我试图弄清楚发生了什么,每当我尝试验证它时,我会得到一个未定义的元素

我在验证包含一些基本PHP变量的文档时遇到了这个问题。我主要使用html的h1、h2和预编码来格式化文本

我的问题是,当我验证文档时,它会出现一个错误

问题区域是文件的这一部分:

<h2>Server Info</h2>

<pre>
<?php
echo $_SERVER;
print_r(var_dump($_SERVER));
?>
</pre>
服务器信息
我试图弄清楚发生了什么,每当我尝试验证它时,我会得到一个未定义的元素错误

以下是验证页面的链接: 编辑:链接到获取错误的完整HTML源:


第二次编辑:使用了用户的建议并插入了PHP代码段,现在页面已经通过。谢谢

问题在于
$\u服务器
转储包含看起来像XML元素的代码,即
。验证器必须像处理其他HTML元素一样处理这个问题,但失败了

解决方案是在输出上运行
htmlentities()
,以屏蔽任何包含的HTML或XML,例如:


请显示完成生成的HTML,而不是PHP源代码。
$result = print_r($_SERVER, true);
echo htmlentities($result);