0

我总是在我的网页上包含以下 DTD:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

我想在我的一个网站上开始使用 PHP。我应该以任何方式修改此 DTD 以使其保持有效吗?

有什么理由应该在 DTD 之前使用 PHP 块,或者 DTD 应该始终是每个文件的开头吗?

4

5 回答 5

3

是的,您应该这样做,不是因为您使用的是 PHP,而是因为您现在应该使用 HTML5。

<!DOCTYPE html>

doctype 与 PHP 根本没有任何关系,因为它是一种服务器端语言。但是,文档类型会影响您输出的 HTML。

如果在 doctype 之前输出任何字符,某些浏览器(阅读:IE)可能会出现问题,并且在 doctype 之前使用 PHP 通常不是问题,只需确保在 doctype 之前的 HTML 中没有空格或换行符输出。

于 2012-12-10T18:04:11.963 回答
2

Php 是一种为浏览器生成文本的服务器端语言。无论 HTML 是如何生成的,浏览器都以完全相同的方式解释 HTML 文本。硬编码的 html 在浏览器中的解释方式与 ASP 生成的 HTML 相同,后者的解释方式与 PHP 生成的 HTML 相同。

因此,您Doctype不需要根据任何选择的服务器端脚本语言进行定制

于 2012-12-10T18:05:05.443 回答
1

简单来说

DOCTYPEPHP 无关,它是您需要注意的返回给浏览器的内容。

详细解答

DOCTYPE只是告诉浏览器如何解释页面和组成页面的代码。作为PHP一种服务器端语言,它与此无关,除非您输出的特定 HTML 需要与DOCTYPE您定义的不同。

信用

@adeneo 正确地补充说你应该改变它,但不是因为它与 PHP 有任何关系。对于 HTML 5,您必须使用以下方式声明文档类型:

<!DOCTYPE html>
于 2012-12-10T18:03:46.847 回答
0

PHP 输出 HTML(或其他浏览器可显示的内容)。只要输出的 HTML 符合您的 doctype,您就可以继续使用您选择的 doctype。如果您不知道 doctype 是什么以及做什么,这里有一个古老但很好的参考:http ://www.alistapart.com/articles/doctype/

于 2012-12-10T18:06:08.130 回答
-1

用于生成页面的服务器端技术的选择并不影响文档类型的选择。重要的是发送到浏览器的标记。

doctype 语句(不是 DTD——它原则上是对 DTD 的引用,尽管浏览器不会这样对待它)应该位于 HTML 文档的开头,但这适用于发送给浏览器的 HTML 文档。.php 文件并不是真正的 HTML 文档(或者不一定是),并且任何 PHP 指令在开始时都将由服务器端代码处理,并且永远不会到达浏览器。

于 2012-12-10T18:19:37.910 回答