PHP странное эхо-поведение


Я заметил очень странное поведение PHP, когда функция echo, похоже, влияет на стиль некоторых элементов на странице.

Когда я использую:

echo "<ul>";
echo "<li><a class='item'><span class='item-icon'></span>Item-1</a></li>";
echo "<li><a class='item'><span class='item-icon'></span>Item-2</a></li>";
echo "</ul>";

Я получаю "значок элемента" немного не в том положении.

Но когда я использую это, я получаю правильные позиции значков:

echo "<ul>";
?>
<li><a class="item"><span class="item-icon"></span>Item-1</a></li>
<li><a class="item"><span class="item-icon"></span>Item-2</a></li>
<?php
echo "</ul>";

Я все еще могу исправить css и использовать первый синтаксис, но мне очень любопытно узнать, что вызывает эту проблему!!

Ответ: Благодаря Брэду Кенту, исправлено добавление разрыва строки в эхо проблема!!

echo "<ul>";
echo "<li><a class='item'><span class='item-icon'></span>Item-1</a></li>\r\n";
echo "<li><a class='item'><span class='item-icon'></span>Item-2</a></li>\r\n";
echo "</ul>";
Author: pnuts, 2015-10-26

2 answers

В зависимости от того, какой CSS применяется...

Версия A не содержит разрывов строк между <li>s
версия B действительно содержит разрывы строк между <li>s

<li>blah</li><li>blah</li>

Против

<li>blah</li>
<li>blah</li>

Это может иметь значение

 2
Author: Brad Kent, 2015-10-26 02:17:32

Отсутствует = в этой строке?

                  v
echo "<li><a class'item'><span class='item-icon'></span>Item-1</a></li>";

Одинарные кавычки - это нормально.

 1
Author: Yimin Rong, 2015-10-26 00:35:14