У меня есть следующий PHP:
<?php
$items = array('foo', 'bar', 'baz', 'qux');
?>
<div>
<?php foreach ($items as $item): ?>
<a><?= $item; ?></a>
<?php endforeach; ?>
</div>
Необработанный вывод такой:
<div>
<a>foo</a>
<a>bar</a>
<a>baz</a>
<a>qux</a>
</div>
Это выглядит уродливо и испорчено, но это фактический результат.Это не беспокоит меня, хотя.Проблема в том, что между тегами <a>
есть пробел.В браузере я получаю такой результат:
Обратите внимание, что между элементами есть пространство. Я не хочу этого.
Я знаю, что вы можете использовать font-size
, letter-spacing
и еще много чего, чтобы избежать этой проблемы, но я не хочу этого делатьтак как проблема в разметке.
Я также попытался закомментировать пробел, как это:
<div><!--
<?php foreach ($items as $item): ?>
--><a><?= $item; ?></a><!--
<?php endforeach; ?>
--></div>
, который привел к следующему выводу:
<div><!--
--><a>foo</a><!--
--><a>bar</a><!--
--><a>baz</a><!--
--><a>qux</a><!--
--></div>
Иследующий результат:
Это мой желаемый результат, да, но эта техника комментирования смешна ... Она также портит подсветку синтаксиса:
Вопрос
Есть ли законный способ удалить пробелы между элементами без использования CSS или лишних комментариев?
Редактировать: Я использую такую простую разметку только для простоты вопроса.Каков наилучший подход к этому, когда у меня много элементов в цикле for, а не только теги <a>
, где было бы сложно использовать echo
?То есть, где вам нужно , чтобы закрыть PHP и использовать сокращенные <?= ?>
теги?