0

我编写了一个函数,其中包含与站点标题相关的代码。这是功能:

首先,像上面这样的编码有什么问题吗?其次,Netbeans 在 html 标记中发出警告:Stray start html tag here。我想这是因为 html 标记包含在一个函数中,而这个函数不包含结束标记——我假设。

function output_headers()
{?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Appointmetns24x7</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet"  href="css/admingeneral.css"/>
script  type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" ></script>
</head>
<body> <?php
}

如果此编码方案没有任何问题,那么我将忽略 netbeans 警告并继续。

4

3 回答 3

3

实际的错误消息是由于<body>标签未关闭。Netbeans 正在收集这个并警告您 HTML 可能无效......因为它是无效的。Netbeans 无法仅通过查看此函数就知道它不应该是一个完整的 HTML 文档。

如果您必须这样做,您应该避免在不同的代码块之间拆分单独的 HTML 标记。最佳实践是确保任何输出 HTML 标记的函数也输出相应的结束标记。

但是,无论如何,您做事的方式都不理想。

您已将模板拆分为“页眉”和(可能)“页脚”功能。这种技术在几年前很常见,但现在它被认为不是特别好的做法。

更好的技术是拥有一个单独的模板文件,其中包含您的所有 HTML —— 即页眉和页脚,以及您希望动态内容所在的占位符。然后,您将动态内容位构建为字符串,并将它们提供给模板。

在最简单的形式中,这只是意味着模板是一个带有 PHP 块的纯 HTML 文件,用于<?php echo $mainBodyCode; ?>在适当的位置使用占位符。然后,您只需要确保填充占位符变量,并在您想要输出页面时包含它。

希望有帮助。

于 2012-10-17T13:17:12.590 回答
1

我会坐在流浪标签是

xmlns="http://www.w3.org/1999/xhtml"

因为你调用<!DOCTYPE html>的不是xhtml,所以调用xml命名空间是无效的。

于 2012-10-17T12:53:33.187 回答
1

似乎如果您将根类型 html(html 标记)元素包含在函数内,然后在函数外部脚本的某个位置关闭它们,则设置了开始标记 - 然后这在 Netbeans 中被解释为错误。

有人可以选择忽略它,否则他应该避免这样编码,将 html 标头信息放在函数中。

于 2012-11-21T12:47:40.480 回答