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

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

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

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

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


当前回答

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

其他回答

我还在单引号和双引号中尝试了这种组合。但没有一个奏效。与其使用\n,不如在双引号中使用<br/>。像这样的. .

$variable = "and";
echo "part 1 $variable part 2<br/>";
echo "part 1 ".$variable." part 2";

有一个方便的PHP函数用于HTML输出,它在新行中添加<br />标记:

echo nl2br("One line.\n Another line.");

双引号“”之间的字符串进行插值,这意味着它们将转义字符转换为可打印字符。

单引号之间的字符串是字面的,这意味着它们与输入的字符完全相同。

你可以把两者都写在同一行上:

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

输出:

$clientid $lastname
1 John Doe

使用常量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);
?>

浏览器不会将换行符解析为两行,因为在HTML中换行符没有任何意义。这就是为什么当需要在HTML中添加新行时,必须添加一些标记,<br>是最简单的一个:

echo [output text]."<br>\n";

这将输出HTML换行符。

请注意,无论如何添加新行都是个好主意,这样在检查页面源代码时就有了可读的HTML。