В чем преимущество \ n и PHP_EOL в PHP? - PullRequest
8 голосов
/ 25 июля 2011

Я пытаюсь вывести символ новой строки в PHP, который просматривается в веб-браузере.Я могу управлять им только с помощью тега <br />.

Когда я использую \n, ничего не происходит, так каково преимущество использования \n?Также в чем выгода PHP_EOL?Когда я объединяю его в строку, печатается только пробел, а не перевод строки.

Ответы [ 4 ]

10 голосов
/ 25 июля 2011

Веб-браузер интерпретирует выходные данные программы PHP как HTML, поэтому \n и \r\n, похоже, не будут ничего делать, как вставка новой строки в файл HTML. С другой стороны, <br /> создает новую строку в интерпретируемом HTML (следовательно, «line BReak»). Следовательно, <br /> будет создавать новые строки, тогда как \r\n ничего не будет делать.

5 голосов
/ 25 июля 2011

Когда вы используете PHP для создания веб-приложения, возникает несколько уровней:

  • Ваш PHP-код, который выводит некоторые данные в
  • веб-сервер, который передает данные по сети на
  • веб-браузер, который анализирует данные и отображает их на экране.

Обратите внимание, что в приведенном выше примере это просто данные, которые передаются. В вашем случае это данные HTML, но это может быть простой текст или даже изображение в формате PNG. (Это одна из причин, по которой вы отправляете заголовок Content-Type:, чтобы указать формат ваших данных.)

Поскольку он так часто используется для HTML, PHP имеет множество специфичных для HTML функций, но это не единственный формат, который он может выводить. Таким образом, хотя символ новой строки не всегда полезен для HTML, он полезен:

  • если вы хотите отформатировать генерируемый вами HTML, не для веб-браузера, а для того, чтобы другой человек мог читать;
  • , если вы хотите создать простой текст или другой формат, где символы новой строки имеют значение.
4 голосов
/ 25 июля 2011

Определение PHP_EOL является правильным для платформы, на которой вы находитесь.Таким образом, для Windows PHP_EOL это \r\n для MAC, это \r для Linux, это \n.Принимая во внимание, что <br /> или <br> - это HTML-разметка для линейного торможения.Если вы новичок в HTML и PHP, лучше сначала понять HTML, а потом беспокоиться о PHP.Или начните читать некоторый исходный код и запустите исходный код других людей, чтобы увидеть, как они это сделали.Это сделает ваш код лучше, просто скопировав их стиль.(Большую часть времени.)

2 голосов
/ 07 августа 2013

PHP_EOL полезен, когда вы записываете данные в файл, например в файл журнала.Это создаст разрывы строк, специфичные для вашей платформы.

...