Есть ли способ принудительно создать новую строку после закрывающего тега php> при внедрении в html?
Я без особого успеха искал в Интернете способ заставить php выводить новую строку после закрывающего тега php ?>
, чтобы мой HTML отображался так, как я его вижу, до его анализа PHP, чтобы он выглядел аккуратно и аккуратно при просмотре исходного кода html для страницы.
Я хочу, чтобы он не удалял новую строку и не приводил к завершению следующей строки и, следовательно, к нарушению формата страницы. Есть ли определенная настройка php.ini
, которую я могу изменить, чтобы отключить это поведение?
Все мои файлы логики кода ?>
удалены из их конца, поэтому мне не нужно беспокоиться о том, что они вводят дополнительные новые строки, поэтому я считаю, что PHP был закодирован для удаления завершающих новых строк.
7 answers
Ричард говорит следующее:
Hello <? ?>
Jello
...после PHP-разбора становится так:
Hello Jello
Я просто добавляю дополнительную новую строку вручную, вот так:
Hello <? ?>
Jello
...давая это:
Hello
Jello
Это старый вопрос, но чтобы сохранить новую строку, просто поставьте пробел после закрывающего тега.
Источник: http://php.net/manual/en/language.basic-syntax.instruction-separation.php
Вы можете попробовать это:
echo "output \n";
Или даже эта гораздо менее элегантная техника:
echo "output
";
Пожалуйста, вставьте пример фрагмента кода, чтобы получить более конкретную помощь.
Изменить это поведение невозможно. Чтобы было понятно, что происходит, я всегда явно помещаю символ новой строки в свои файлы шаблонов.
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.
Вы не всегда можете просто запустить элемент уровня блока после тега php.
Иногда вы создаете обычный текст внутри текстовой области.
В других случаях вы вообще не генерируете HTML-строки.
- Инструкция SQL
- текст письма
- другие строки, отличные от HTML
Мои навязчивые привычки приводят меня к аналогичным целям. К сожалению, для этого нет элегантного решения. Два предложения:
-
Выведите символ новой строки, в котором вы хотите разбить HTML-код следующим образом:
echo 'Hello World'.chr(10);
-
Команда PHP "echo" не является реальной функцией, поэтому вы не можете ее переопределить; однако вы можете создать оболочку и использовать ее вместо этого:
function myecho($string, $newline=true) { echo $string; if($newline) echo chr(10); }
Ни одно из решений не является элегантным, но, опять же, и вывод HTML не является если вы не добавляете разрывы строк.
Если это вызывает у вас проблемы, вы, скорее всего, не пишете хороший 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.