在PHP中,我试图创建一个换行符:
echo $clientid;
echo ' ';
echo $lastname;
echo ' ';
echo '\r\n';
之后,我在记事本中打开创建的文件,它逐字写入换行符:
1约翰做1约翰做1约翰做
我尝试过许多不同的\r\n,但没有一个有用。为什么换行符没有变成换行符?
在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 >
其他回答
使用常量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
有一个方便的PHP函数用于HTML输出,它在新行中添加<br />标记:
echo nl2br("One line.\n Another line.");
对我来说什么都没用。
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";
使用预定义的PHP_EOL常量:
echo $clientid, ' ', $lastname, PHP_EOL;
常量值将根据执行PHP的操作系统的行结束符来设置。在Linux上,它将是“\n”;在Windows上,它将是“\r\n”。