【问题标题】:Title of html inside php inside htmlhtml里面的php里面的html的标题
【发布时间】:2013-05-25 15:30:14
【问题描述】:

我有点自学,我正在使用 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>

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

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

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

  1. 在第一组代码中:“HEAD”的结束标记未完成,不包含“TITLE”
  2. 在第二组代码中:文档类型在此处不允许元素“TITLE”

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

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

【问题讨论】:

  • 没错,是的,&lt;title&gt; 应该放在&lt;head&gt; 里面,而不是&lt;body&gt; 里面。就是这样。标题是关于 html 文件的信息的一部分,而不是内容的一部分。所以把包含的标题放在&lt;head&gt;&lt;/head&gt;之间。
  • 使用 HTML4 的任何具体原因?或 ISO-8859。
  • @Juhana HTML 4 有什么问题?或者 ISO-8859-1。
  • @MrLister 没什么,但你会认为如果你从零开始,你会直接到 5。但除非有外部原因,否则不使用 Unicode 是错误的。跨度>
  • @MrLister 据我所知,所有浏览器在遇到无法识别的类型时都会退回到type="text"。另一方面,即使您不使用任何 HTML5 专用功能,使用 HTML4 doctype 也没有任何好处。

标签: php html title head


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 但是标题应该取决于里面打开的是哪个文件。如果我在第二组代码中设置标签,我会在 W3 验证器中收到更多错误,说它不允许在那里。
  • 例如为每个文件创建2个包含文件,一个以header.开头,然后执行if (is_file("$file.inc.php")) include ("$file.header.inc.php");
  • 谢谢,这成功了!还有一个问题,是否值得制作 10 多个仅包含页面标题的文件,因为这些文件只在 W3 上出现错误;但仍然有效?
  • 有更好的方法来获得正确的标题。例如,您可以将所需的所有值存储在一个对象中,一个创建完整 html 标记的 php 文件使用这些值,但工作量更大
【解决方案2】:

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

    <!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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    相关资源
    最近更新 更多