doctype之前的空白问题

arm*_*rma 5 html php

我有一个奇怪的问题,我在2个不同的文件夹中有2个相同的网站副本.其中一个副本在doctype声明之前有空格,所以我有问题与facebook合作,因为文档格式不正确.

在html之前有一些php计算,但没有echo语句或其他东西.

在不同的文件夹中,同一台服务器下的2个标识网站会出现什么原因?

Ste*_*hen 10

我几乎肯定你确定在PHP包含的末尾有一些尾随空格.先检查那里.

例:

<?php
    // header file
    include 'other_file.php';
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"><!-- etc.  -->
Run Code Online (Sandbox Code Playgroud)

然后

<?php
    // other_file.php
    // connects to database, or something,
    // but notice the whitespace after the closing tag
?>



... pretend this text isn't here
Run Code Online (Sandbox Code Playgroud)

我在最后添加了注释,以获得stackoverflow的markdown编辑器,以显示结束?>标记之后的其他行.PHP会在包含标记后自动截断一个换行符,但如果您有多个,则在doctype声明之前它们将被解释为空格.

最简单的修复??>从所有包含中删除结束标记.这是一种有效的技术,可能是您启动和运行的最快方式.