1

我正在尝试使用http://validator.w3.org/check上的 W3C 验证器验证我的 HTML5 文档。当我使用“直接输入”运行下面的代码时,我收到错误消息,例如Element head is missing a required instance of child element titleStray start tag html。这让我感到困惑,因为<html>标签就在那里。为什么验证器看不到它?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="description" content="some content">
<title>page title</title>
</head>
<body>
</body>
</html>

更新:我正在使用 PHP 生成文件的一部分,结果证明这是错误的原因。

4

2 回答 2

2

我发现了错误。我正在使用 PHP 生成页面。当我在十六进制编辑器中查看它时,我发现标签前有两个空字节(十六进制代码 0x00)。正是我的第一个<?php ?>标签所在的位置。当我复制代码或通过 URL 运行它时,验证器遇到了空字节。当我手动编写代码时,它验证得很好。

<!DOCTYPE html>
<?php
/* the PHP tag apparently outputs two null bytes */
?>
<html>
<head>
<title>page title</title>
</head>
<body>page body</body>
</html>

我将第一个 PHP 标记移到正文的第一行,验证通过。

于 2014-10-16T12:44:44.037 回答
1

在此处输入图像描述

它没有给出错误,而不是两个警告,我已经检查了同一个链接。

于 2014-10-16T06:02:26.533 回答