【问题标题】:Error found in xHTML output due to PHP's variables, $_SERVER and <ADDRESS>由于 PHP 的变量 $_SERVER 和 <ADDRESS> 在 xHTML 输出中发现错误
【发布时间】:2010-09-02 09:52:51
【问题描述】:

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

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

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

<h2>Server Info</h2>

<pre>
<?php
echo $_SERVER;
print_r(var_dump($_SERVER));
?>
</pre>

每当我尝试验证它时,我都试图弄清楚发生了什么,我得到一个未定义的元素错误。

这里是验证页面的链接:http://goo.gl/napu 编辑: 链接到出现错误的完整 HTML 源代码:http://pastebin.com/Kc6wh5s6

第二次编辑: 使用Pekka 的建议并插入PHP sn-p,现在页面已通过。谢谢!

【问题讨论】:

  • 请显示完成生成的 HTML,而不是 PHP 源代码。

标签: php validation xhtml var-dump


【解决方案1】:

问题在于$_SERVER 转储包含看起来像XML 元素的代码,即&lt;ADDRESS&gt;。验证器必须像处理所有其他 HTML 元素一样处理该问题,并且会失败。

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

$result = print_r($_SERVER, true);
echo htmlentities($result);

【讨论】:

    猜你喜欢
    • 2011-07-11
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2014-02-10
    • 2021-06-16
    • 1970-01-01
    • 2015-05-10
    • 2016-04-28
    相关资源
    最近更新 更多