Странность разрыва строки в шаблонах PHP - PullRequest
1 голос
/ 26 августа 2010

Я имел дело с этим в течение многих лет, но это настолько придирчиво, что я никогда не изучал это. Но я всегда удивлялся.

В шаблоне PHP, если я запускаю это:

<p>
<?php echo 'Between "?>" and "</p>" is one linebreak.'; ?>
</p>

<p>
<?php echo 'Between "?>" and "</p>" is one space, then one linebreak.'; ?> 
</p>

<p>
<?php echo 'Between "?>" and "</p>" is two linebreaks.'; ?>

</p>

Это вывод:

<p>
Between "?>" and "</p>" is one linebreak.</p>

<p>
Between "?>" and "</p>" is one space, then one linebreak. 
</p>

<p>
Between "?>" and "</p>" is two linebreaks.
</p>

Я не понимаю этого поведения. Почему он игнорирует один разрыв строки, как будто его там нет (как в первом примере)?

1 Ответ

5 голосов
/ 26 августа 2010

Интерпретатор PHP игнорирует разрыв строки, если он происходит сразу после закрытия ?>. Это для совместимости с текстовыми редакторами, которые всегда добавляют разрыв строки к последней строке файла.

Это кратко упоминается в руководстве по PHP здесь и здесь .

Если перед разрывом строки есть пробел, он выводится как обычно, только если разрыв строки идет сразу после этого, он игнорирует его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...