dav*_*jhp 385 php string-interpolation
在PHP中,我试图创建一个换行符:
echo $clientid;
echo ' ';
echo $lastname;
echo ' ';
echo '\r\n';
Run Code Online (Sandbox Code Playgroud)
然后我在记事本中打开创建的文件,它按字面意思写下换行符:
1 John Doe\r \n 1 John Doe\r \n 1 John Doe\r \n
我尝试了很多变化\r\n,但没有工作.为什么新线不能换成新线?
Gum*_*mbo 609
只有双引号字符串才能解释转义序列,\r并分别\n为'0x0D'和'0x0A',因此您需要:
"\r\n"
Run Code Online (Sandbox Code Playgroud)
另一方面,单引号字符串只知道转义序列\\和\'.
因此,除非您将单引号字符串与其他地方生成的换行符连接起来(例如,使用双引号字符串"\r\n"或使用chr函数 chr(0x0D).chr(0x0A)),在单个引用字符串中使用换行符的唯一其他方法是使用您的编辑器直接输入:
$s = 'some text before the line break
some text after';
Run Code Online (Sandbox Code Playgroud)
如果需要某些特定的字符序列(\r\n例如),请务必检查编辑器的换行设置.
nne*_*ala 217
对于平台无关的行结束,您可以使用预定义的PHP_EOL常量,如:
echo $clientid, ' ', $lastname, PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
dav*_*511 92
PHP中的"echo"命令将输出作为原始html发送到浏览器,因此即使在双引号中,浏览器也不会将其解析为两行,因为HTML中的换行符不代表任何内容.这就是你需要使用的原因:
echo [output text]."<br>";
Run Code Online (Sandbox Code Playgroud)
当使用"echo"时,或者改为使用fwrite ...
fwrite([output text]."\n");
Run Code Online (Sandbox Code Playgroud)
这将输出HTML换行符代替"\n".
Sal*_*ual 36
无论平台如何,使用常量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);
?>
Run Code Online (Sandbox Code Playgroud)
Kev*_*ler 21
双引号之间的字符串""插值,意味着它们将转义字符转换为可打印字符.
单引号之间的字符串''是字面值,这意味着它们的处理方式与键入的字符完全相同.
你可以在同一条线上:
echo '$clientid $lastname ' . "\r\n";
echo "$clientid $lastname \r\n";
Run Code Online (Sandbox Code Playgroud)
输出:
$clientid $lastname
1 John Doe
Run Code Online (Sandbox Code Playgroud)
Sho*_*hoe 13
实际上\r\n是输出的html端.使用这些字符,您只需在html代码中创建一个换行符,使其更具可读性:
echo "<html>First line \r\n Second line</html>";
Run Code Online (Sandbox Code Playgroud)
将输出:
<html>First line
Second line</html>
Run Code Online (Sandbox Code Playgroud)
查看页面将是:
First line Second line
Run Code Online (Sandbox Code Playgroud)
如果你真的这意味着你只需用""引用修复单引号:
echo "\r\n";
Run Code Online (Sandbox Code Playgroud)
否则,如果您要拆分文本,请在我们的示例"第一行"和"第二行"中使用html代码<br />::
First line<br />Second line
Run Code Online (Sandbox Code Playgroud)
将输出:
First line
Second line
Run Code Online (Sandbox Code Playgroud)
如果用以下内容替换整个脚本,它也会更具可读性:
echo "$clientid $lastname \r\n";
Run Code Online (Sandbox Code Playgroud)
w3school提供这种方式:
echo nl2br("One line.\n Another line.");
Run Code Online (Sandbox Code Playgroud)
通过使用这个功能你可以做到..我试过上面说的其他方式,但他们不会帮助我..
小智 5
没有什么对我有用。
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);
Run Code Online (Sandbox Code Playgroud)
对我有用:
$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";
Run Code Online (Sandbox Code Playgroud)