На PHP - как создать символ?
в PHP я пытаюсь создать символ новой строки:
echo $clientid;
echo ' ';
echo $lastname;
echo ' ';
echo 'rn';
после этого я открываю созданный файл в блокноте и он пишет новую строку буквально:
1 Вася Пупкинрн 1 Имярекрн 1 Имярекрн
Я пробовал много вариаций rn
, но никто не работает. Почему новая строка не превращается в новую строку?
13 ответов:
только в двойных кавычках строки интерпретировать escape-последовательности
\r
и\n
как 0x0D и 0x0A соответственно, так что вы хотите:"\r\n"
строки в одинарных кавычках, С другой стороны, только знать последовательность
\
и\'
.поэтому, если вы не объедините строку с одинарными кавычками с разрывом строки, созданным в другом месте (например, используя строку с двойными кавычками
"\r\n"
или черезchr
функцииchr(0x0D).chr(0x0A)
), единственный другой способ иметь разрыв строки в одной строке в кавычках-это буквально ввести его с помощью редактора:$s = 'some text before the line break some text after';
убедитесь, что в вашем редакторе есть настройки разрыва строки, Если вам требуется определенная последовательность символов (
\r\n
например).
для завершения независимой от платформы линии вы можете использовать предопределенный
PHP_EOL
постоянный, например:echo $clientid, ' ', $lastname, PHP_EOL;
команда "echo" в PHP отправляет вывод в браузер как raw html, поэтому даже если в двойных кавычках браузер не будет разбирать его на две строки, потому что символ новой строки в HTML ничего не значит. Вот почему вам нужно либо использовать:
echo [output text]."<br>";
при использовании "эхо", или вместо этого использовать fwrite...
fwrite([output text]."\n");
это выведет HTML новую строку вместо "\n".
используйте константу PHP_EOL, чтобы получить правильный символ независимо от платформы.
http://us3.php.net/manual/en/reserved.constants.php
простой пример использования:
<?php $data = 'First line' . PHP_EOL . 'Second line' . PHP_EOL . 'Third line'; file_put_contents("filename.txt", $data); ?>
строки в двойные кавычки
""
интерполировать, что означает, что они преобразуют экранированные символы в печатные символы.строки в одинарные кавычки
''
- самые настоящие, то есть они обрабатываются точно так же, как герои набираются.вы можете иметь оба на той же линии:
echo '$clientid $lastname ' . "\r\n"; echo "$clientid $lastname \r\n";
выходы:
$clientid $lastname 1 John Doe
на самом деле
\r\n
для html-стороны вывода. С помощью этих символов вы можете просто создать новую строку в html-коде, чтобы сделать его более читаемым:echo "<html>One line \r\n Second line</html>";
вывод:
<html>First line Second line</html>
что просмотр страницы будет:
First line Second line
если вы действительно имели в виду это вы должны просто исправить одну цитату с "" цитата:
echo "\r\n";
в противном случае, если вы хотите разделить текст, в нашем примере "первая строка" и "вторая строка" вы должны использовать html код:
<br />
:First line<br />Second line
что будет на выходе:
First line Second line
также было бы более читабельным, если вы замените весь скрипт:
echo "$clientid $lastname \r\n";
вы должны использовать это:
"\n"
вы также можете взглянуть на PHP EOL.
w3school предложил такой способ:
echo nl2br("One line.\n Another line.");
С помощью этой функции вы можете сделать это..я пробовал другие способы, которые сказали выше, но они не помогут мне..
используйте PHP nl2br для получения новых строк в текстовой строке..
$text = " Ману-хороший мальчик.(Enter) он может хорошо кодировать.
echo nl2br($text);
результат.
Ману-хороший мальчик.
Он может и код.
по какой-то причине каждый пост, спрашивающий о побегах новой строки в PHP, не упоминает случай, когда простая вставка новой строки в строки с одиночными кавычками будет делать именно то, что вы думаете:
ex 1.
echo 'foo\nbar';
Пример 1 явно не печатает желаемый результат, однако, хотя это правда, вы не можете избежать новой строки в одинарных кавычках, вы можете иметь один:
ex 2.
echo 'foo bar';
Пример 2 имеет точно желаемое поведение. К сожалению вставляемая новая строка зависит от операционной системы. Обычно это не проблема, так как веб-браузеры / серверы будут правильно интерпретировать новую строку, будь то \r, \r\n или \n.
очевидно, что это решение не является идеальным, если вы планируете распространять файл с помощью других средств, то веб-браузера и нескольких операционных систем. В этом случае вы должны увидеть один из других ответов.
примечание: с помощью многофункционального текстового редактора вы должны быть в состоянии вставить новую строку в качестве двоичный символ(Ы), который представляет новую строку в другой операционной системе, чем тот, который редактирует файл. Если все остальное не удается, просто используя шестнадцатеричный редактор для вставки двоичного символа ascii будет делать.
используйте chr (13) для возврата каретки и chr (10) для новой строки
echo $clientid; echo ' '; echo $lastname; echo ' '; echo chr (13). chr (10);