php include вызывает нежелательную новую строку

(PHP 5.3.6)

У меня есть файл 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>

Я получаю результат ниже

Обратите внимание, что второй метод просто напрямую использует включенное содержимое. Оба они должны быть похожи на нижний, но, как вы можете видеть, включение приводит к тому, что перед содержимым включенного файла вставляется какой-то странный вид новой строки. Я говорю «странный», потому что, когда я проверяю выводимый источник (через источник представления Chrome), там ничего не видно:

enter image description here

Когда этот раздел страницы отображается в инспекторе элементов Chrome, кажется, что там что-то есть, но что именно это я не могу сказать:

enter image description here

Кажется, это просто пустая строка, но почему пустая строка вызывает новые строки и почему она вообще появляется, остается загадкой. Добавление точки с запятой в конец оператора include не имеет значения. Мне пришло в голову, что это может быть нулевой байт или 13 (CR), но это все равно не должно вызывать разрыв строки HTML.

Кто-нибудь знает, как я могу избавиться от этой нежелательной новой строки?

5
задан j0k 4 September 2012 в 11:55
поделиться