Есть ли способ заставить новую строку после закрытия тега php?>, Когда она встроена в html?

Я искал онлайн с небольшим успехом для того, чтобы заставить php выводить новую строку после закрывающего тега php ?>, чтобы мой HTML был отображен, поскольку я вижу его перед его анализом PHP, чтобы он выглядел аккуратный и аккуратный при просмотре исходного кода html для страницы.

Я хочу, чтобы он не удалял новую строку и не убирал следующую строку и, следовательно, разрушал формат страницы. Есть ли конкретный параметр php.ini, который я могу изменить, чтобы отключить это поведение?

Все мои файлы логики кода удалены с ?> с конца, поэтому мне не нужно беспокоиться о том, что они вводят дополнительные строки новой строки, поэтому я считаю, что PHP был закодирован, чтобы разбить новые новые строки.

Ответы

Ответ 1

Ричард говорит следующее:

Hello <? ?>
Jello

... после PHP-синтаксического анализа становится следующим:

 Hello Jello


Я просто добавляю дополнительную новую строку вручную, например:

Hello <? ?>

Jello

... давая это:

Hello
Jello

Ответ 3

Вы можете попробовать следующее:

echo "output \n";

или даже это гораздо менее изящная техника:

echo "output
";

Вставьте фрагмент кода кода, чтобы получить более конкретную справку.

Ответ 4

Невозможно изменить это поведение. Чтобы было ясно, что происходит, я всегда явно помещаю символ новой строки в свои файлы шаблонов.

Hello,    

Foo: <?php echo $foo."\n"; ?>
Bar: <?php echo $foo."\n"; ?>

This concludes foo and bar.

Выходы:

Hello,    

Foo: foo
Bar: bar

This concludes foo and bar.

Ответ 5

Вы не можете просто запустить элемент уровня блока после тега php.

Иногда вы создаете обычный текст для текстового поля.

В других случаях вы вообще не генерируете строки HTML.

  • Оператор SQL
  • тело электронной почты
  • другие строки, отличные от HTML

Ответ 6

Мои компульсивные привычки приводят меня к аналогичным целям. К сожалению, для этого нет элегантного решения. Два предложения:

  • Вывести символ новой строки, где вы хотите разбить код HTML следующим образом:

    echo 'Hello World'.chr(10);

  • PHP 'echo' команда не является фактической функцией, поэтому вы не можете ее переопределить; однако вы можете создать оболочку и вместо этого использовать:

    function myecho($string, $newline=true)
    {
       echo $string;
       if($newline)
          echo chr(10);
    }
    

Ни одно из решений не является элегантным, но опять же, и не вывод HTML, если вы не добавляете разрывы строк.

Ответ 7

Если это вызывает проблемы для вас, вы, скорее всего, не будете писать хороший HTML. Если у вас есть PHP, выделенный из HTML, то после тега ?> close просто начните с HTML-элемента уровня блока.

Вот так:

Hello <?php $php_code(); ?> <div>Something else here</div> or even <p>Something else here</p>

Что будет выводить:

Hello

Something else here

Если вместо этого вы пишете:

Hello <?php $php_code(); ?> Something else here

Тогда ваша проблема заключается в том, как вы пишете HTML, а не в разборе PHP.