(PHP 5.3.6)PHP包括原因不需要換行
我有一個PHP文件,其中包含只是這段文字 - 沒有PHP的標籤,沒有尾隨換行符或多餘的空白的任何地方:
<div style="border:1px solid green">abc</div>
現在,包括從另一個PHP文件如下所示(再次,沒有多餘的空白的任何地方):
<div style="border:1px solid red"><?php include "abc.php" ?></div>
<br />
<div style="border:1px solid red"><div style="border:1px solid green">abc</div></div>
我得到下面的結果。
注意,第二方法只是直接使用包含的內容。這些都應該像下面那樣,但是正如你所看到的那樣,include會在被包含文件的內容之前插入一些更爲奇妙的換行符。我說「奇怪」,因爲當我檢查的輸出源(通過Chrome瀏覽器的查看源代碼)並沒有什麼明顯的有:
當Chrome的元素檢查顯示在頁面的這一部分,似乎有東西有,但它到底是什麼我也說不清:
這似乎是簡單的一個空字符串,但爲什麼一個空字符串會導致新行,爲什麼它會在那裏擺在首位是一個謎。在include語句的末尾添加分號並沒有什麼區別。我想到它可能是一個空字節或一個13(CR),但這應該不會導致HTML換行符。
有誰知道我可以擺脫這不需要的換行符?
mmmm ....知道你做的php。謝謝! – iforce2d
非常感謝你! BOM的東西是如此邪惡...... –