1

我有简单的页面,例如:

...
<div><?php include 'somefile.php' ?></div>
...

'somefile.php'-文件包含<p>Lorium ipsum...</p>

浏览器在块的开头添加空格?看图片: http ://s44.radikal.ru/i104/1209/95/87e6c2438700.jpg

而这个测试页面http://new.arsltd.ru/test.php

4

4 回答 4

3

很可能somefile.php在 PHP 开始标记之前有空格或其他不可打印的字符(例如 BOM)。

更新:确实,您的文件以 UTF-8 BOM(字节EF BB BF)开头。使用您的文本编辑器在没有 BOM 的情况下保存它;您将看到文件大小减少 3 个字节作为确认。

于 2012-09-20T13:12:01.330 回答
3

您的一个元素上很可能有填充或边距样式指令。浏览器在解析 HTML 时会忽略空格(应该如此)。

例如,您在 HTML 源代码中看到的空格可能是由包含的 .php 文件开头的换行符引起的(注意:这仍然不会影响代码的呈现方式)。

于 2012-09-20T13:12:18.720 回答
1

somefile.php包含包含在段落中的文本<p>,并且最确定该段落具有边距或填充。

你的问题test.php从一个不可见的 unicode 字符开始。

<div><p> // between <div> and <p> there is an unicode character
于 2012-09-20T13:13:06.240 回答
0

'somefile.php' 的内容是什么?尝试使用 Notepad++ 或其他 IDE/文本编辑器在没有 BOM 的情况下以 UTF-8 更改该文件的编码

于 2012-09-20T13:14:00.900 回答