在PHP中,我试图创建一个换行符:

echo $clientid;
echo ' ';
echo $lastname;
echo ' ';
echo '\r\n';

之后,我在记事本中打开创建的文件,它逐字写入换行符:

1约翰做1约翰做1约翰做

我尝试过许多不同的\r\n,但没有一个有用。为什么换行符没有变成换行符?


当前回答

使用预定义的PHP_EOL常量:

echo $clientid, ' ', $lastname, PHP_EOL;

常量值将根据执行PHP的操作系统的行结束符来设置。在Linux上,它将是“\n”;在Windows上,它将是“\r\n”。

其他回答

只有双引号字符串将转义序列\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

。”\ r \ n;

$NEWLINE_RE = '/(\r\n)|\r|\n/'; // take care of all possible newline-encodings in input file
$var = preg_replace($NEWLINE_RE,'', $var);

对我有用:

$admin_email_Body = $admin_mail_body .'<br>' ."\r\n";
$admin_email_Body .= 'This is line 2 <br>' ."\r\n";
$admin_email_Body .= 'This is line 3 <br>' ."\r\n";

你应该这样使用:

"\n"

你可能还想看看PHP EOL。

实际上\r\n是输出的html部分。使用这些字符,你可以在html代码中创建换行符,使其更具可读性:

echo "<html>First 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";

你可以试试这个。 <?php $content = str_replace(PHP_EOL, "<br>", $your_content); ? > < p > < ?php echo($内容);? > < / p >