Intereting Posts
Автозаполнение JQuery и формирование популяции с использованием JSON Нет указанного входного файла. Godaddy КАК добавить в тестовые переменные сеанса PHP? WooCommerce WordPress – примерная кнопка «Корзина» Минимизация окончательного вывода HTML с использованием регулярных выражений с помощью CodeIgniter Символьная форма Поле Атрибут empty_data Игнорируется How-To Загрузить фотографии на facebook (график api) с помощью селектора файлов html (input type = "file") Как ограничить доступ к содержимому WordPress в приложении .NET / PHP Symfony2 Использовать константу класса PHP в конфигурации YAML? Извлеките все теги text и img из HTML в PHP. Отношение многих ко многим, оператор IN и возможность неправильных результатов preg_match все слова начинаются с @? XAMPP: настройка типа кодирования во всем мире получение значения дополнительной столбцовой таблицы столбцов laravel копировать данные после того, как пользователь выберет его

PHP Linefeeds (\ n) не работает

По какой-то причине я не могу использовать \n для создания перевода строки при выводе файла в PHP. Он просто пишет « \n » в файл. Я также попытался использовать « \\n », где он просто пишет «\ n» (как и ожидалось). Но я не могу для жизни понять, почему добавление \ n в мои строки не создает новые строки. Я также попробовал \r\n но он просто добавляет « \r\n » к строке в файле.

Пример:

 error_log('test\n', 3, 'error.log'); error_log('test2\n', 3, 'error.log'); 

Выходы:

 test\ntest2\n 

Использование MAMP на OSX в случае, если это важно (возможно, какая-то конфигурация PHP?).

Какие-либо предложения?

Solutions Collecting From Web of "PHP Linefeeds (\ n) не работает"

Используйте двойные кавычки. "test\n" будет работать нормально.

Если строка заключена в двойные кавычки ("), PHP будет интерпретировать больше управляющих последовательностей для специальных символов:

http://php.net/manual/en/language.types.string.php

\n не означает, что конечный пользователь видит новую строку, для этого вы должны использовать элемент html <br/> . / n влияет только на то, как HTML-код, созданный php, появляется в исходном коде веб-страницы. если вы перейдете на свою веб-страницу и нажмите «Просмотр источника», вы увидите PHP-сгенерированный html как одну длинную строку. Не красиво. Для этого нужен \n ; чтобы разбить этот php-генерируемый html на более короткие строки. Цель \n состоит в том, чтобы сделать более красивую страницу источника просмотра.

Я уверен, что вы выводите файл html. Проблема заключается в том, что html игнорирует новые строки в источнике, что означает, что вам нужно заменить символы новой строки с помощью <br/> если вы хотите, чтобы на итоговой странице отображалась новая строка.

Когда вы запускаете PHP-скрипт в браузере, он будет отображаться как HTML по умолчанию. Если книги, которые вы используете, показывают иначе, либо код или иллюстрация неточны. Вы можете использовать «источник просмотра» для просмотра того, что было отправлено в браузер, и вы увидите, что ваши фиды каналов присутствуют.

 <?php echo "Line 1\nLine 2"; ?> 

Это будет отображаться в вашем браузере как:

 Line 1 Line 2 

Если вам нужно отправить обычный текст в свой браузер, вы можете использовать что-то вроде:

 <?php header('Content-type: text/plain'); echo "Line 1\nLine 2"; ?> 

Это приведет к выводу:

 Line 1 Line 2 

nl2br() используется для создания новой строки

 echo nl2br("Welcome\r\n This is my HTML document", false); 

Вышеприведенный пример выводит:

желанный
Это мой HTML-документ

Вам нужно использовать двойные кавычки. Двойные кавычки имеют больше символов эвакуации.

 error_log("test\n", 3, 'error.log'); error_log("test2\n", 3, 'error.log'); 

Это потому, что вы используете апострофы ('). Вместо этого используйте quotationmarks ("). 'Предлагает PHP использовать все, что находится между апострофами буквально.

Двойные кавычки – это то, что вы хотите. Одиночные кавычки игнорируют \ escape. Двойные кавычки также будут оценивать переменные выражения для вас.

Проверьте эту страницу в руководстве по php для получения дополнительной информации.

поместить \n в двойные кавычки try


 $LOG = str_replace('\n', "\n", $LOG); 

Если вы хотите напечатать что-то вроде этого с помощью новой строки (\ n) после нее:

 <p id = "theyateme">Did it get eaten?</p> 

Чтобы распечатать выше, вы должны сделать следующее:

 <?php print('<p id = "theyateme">Did it get eaten?</p>' . "\n"); ?> 

Код клиента сверху:

 <p id = "theyateme">Did it get eaten?</p> 

Вывод сверху:

Он съел?

Я знаю, что это сложно, но я всегда так делаю, и ты почти всегда должен так поступать.

Иногда вы хотите, чтобы PHP печатал \ n на страницу вместо того, чтобы давать новую строку, например, в JavaScript-коде (сгенерированном PHP).

ПРИМЕЧАНИЕ об ответе: Возможно, вы можете: почему вы использовали печать вместо эха (мне нравится мое эхо). Это потому, что я предпочитаю печатать над echo и printf, потому что в некоторых случаях он работает лучше (мои случаи обычно), но в этом случае это может быть сделано отлично.