1

我有点自学,我正在使用 W3 验证器来检查我的代码。现在我得到了这个加载的文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="main.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php
include("menu.php");
?>

<?php
if (is_file("$file.inc.php")) include ("$file.inc.php");
else include("homepage.inc.php");
?>

</body>
</html>

在您选择的菜单中,例如“Page A”,然后加载为“pageA.inc.php”,其中包含:

<title>SUPERAWESOME TITLE of page A</title>
text text text
...

它工作正常,但我在 W3 验证器中得到这组错误,我不知道如何处理:

  1. 在第一组代码中:“HEAD”的结束标记未完成,不包含“TITLE”
  2. 在第二组代码中:document type does not allow element "TITLE" here

如果我在第一组代码中设置一个标题,以解决第一个问题,它总是向我显示相同的标题。如果我在第二组代码中设置标签,我会在 W3 验证器中收到更多错误,说它不允许在那里。

我该如何解决这个问题?还是我不应该关心?它现在正在按应有的方式工作,我只是在验证时被错误所困扰。

4

2 回答 2

0

您正在将标题写入 html 的正文,这是无效的。标题应该在头部,例如:

<head>
    <!-- other head tags -->
    <title>Your Title</title>
</head>

您也可以在 head 部分中包含:

if (is_file("$file.inc.php")) include ("$file.header.inc.php");

在你的 inc 文件中只输出<title>...</title>. 然后在正文部分中,您可以包含另一个带有文本输出的文件,那么您的 html 标记应该是有效的。

于 2013-05-25T15:34:37.470 回答
0

你可以这样尝试你缺少end tagmeta,你需要根据当前页面title在里面添加head

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

   <?php
    include("title.php");
    ?>

    <link href="main.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <?php
    include("menu.php");
    ?>


    <?php
    if (is_file("$file.inc.php")) include ("$file.inc.php");
    else include("homepage.inc.php");
    ?>

</body>
</html>
于 2013-05-25T15:36:58.573 回答