(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), там ничего не видно:
Когда этот раздел страницы отображается в инспекторе элементов Chrome, кажется, что там что-то есть, но что именно это я не могу сказать:
Кажется, это просто пустая строка, но почему пустая строка вызывает новые строки и почему она вообще появляется, остается загадкой. Добавление точки с запятой в конец оператора include не имеет значения. Мне пришло в голову, что это может быть нулевой байт или 13 (CR), но это все равно не должно вызывать разрыв строки HTML.
Кто-нибудь знает, как я могу избавиться от этой нежелательной новой строки?