2009-12-14 22 views
0

正常之一:PHP VS HTM,怪異間隙

http://labvc.x10hosting.com/AT/site/home.htm

VS

奇數之一:

http://labvc.x10hosting.com/AT/site/home.php

當我並排查看代碼時,它幾乎相同,唯一會讓他們產生奇怪間隙的應該是CSS,但它們使用的是同一張表。

想法?


編輯: 我檢查,製成的微小修改代碼,在源再看看。
兩者完全相同。跆拳道有這個差距。


編輯: 有一個像素寬字符只是XML減速之前,我如何阻止它形成發生?

+0

它們在歌劇中看起來一樣。 – 2009-12-14 22:04:24

+0

在您修改後更新了我的答案。 – 2009-12-14 22:27:06

回答

3

你的PHP文檔類型以上的任何代碼的DOCTYPE前輸出在頭部有雙重byte-order-mark

檢查與螢火蟲的代碼,我認爲這是第一線

<?xml version="1.0" encoding="UTF-8"?> 

現在,所有這些時髦的人物還有的UTF-8 BOM(0xEF 0xBB 0xBF)剛剛ISO-8859-1 decodings。

這些可能是由您的IDE /編輯器添加到PHP文件本身的頭部。檢查您的首選項並查看正在使用的編碼。如果它是「UTF-8 + BOM」之類的東西,那麼將其切換爲「UTF-8」,並且應該修復它。

+0

每一個文件都保存爲utf-8,我該如何擺脫它? – Neros 2009-12-14 22:31:27

+0

東西是注入到您的文件的BOM。下載一個十六進制編輯器並在本地打開它們,看看它們是否在那裏。或者用像EditPlus這樣的編碼感知文本編輯器打開它們 - 它會告訴你是否有BOM。 – 2009-12-14 22:34:47

+0

在記事本++中打開所有東西,全部清潔。地獄是什麼東西:S – Neros 2009-12-14 22:43:01

4

有在頁面的解釋(之前的XML聲明)您有空白的PHP文件的源代碼頂部的額外位的差距恕我直言

0

頂部是在PHP的一個

+0

我如何阻止它這樣做? – Neros 2009-12-14 22:18:50

2

該頁面生成一個「。」這解釋了額外的空間

html頁面

<!DOCTYPE html 

    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

PHP頁面

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

刪除PHP頁面

1

如果你在PHP文件的頂部包含任何文件,那可能是你實際上在結尾後有空格或句號?>在包含文件中

header.php 
<?php 
    phpstuff... 
?> <whitespace or period here> 

home.php 
<?php 
    include "header.php"; 
?> 

這可以通過在純PHP文件中從不使用?>來解決。可以這樣打開:

<?php 
    phpstuff... 
+0

已檢查,更正,仍有問題。還要別的嗎? – Neros 2009-12-14 22:23:17