出于某种原因\n
,在使用PHP输出到文件时,我无法使用创建换行符.它只是将" \n
" 写入文件.我也尝试使用" \\n
",它只写"\n"(如预期的那样).但我不能为我的生活弄清楚为什么在我的字符串中添加\n不会创建新行.我也尝试了,\r\n
但它只是将" \r\n
" 附加到文件中的行.
例:
error_log('test\n', 3, 'error.log');
error_log('test2\n', 3, 'error.log');
Run Code Online (Sandbox Code Playgroud)
输出:
test\ntest2\n
Run Code Online (Sandbox Code Playgroud)
在重要的情况下在OSX上使用MAMP(某种PHP配置可能吗?).
有什么建议?
cee*_*yoz 51
使用双引号."test\n"
会工作得很好.
如果字符串用双引号(")括起来,PHP将解释特殊字符的更多转义序列:
http://php.net/manual/en/language.types.string.php
小智 26
\n
并不意味着最终用户将其视为新行,您必须使用html <br/>
元素./ n仅影响php生成的html如何出现在网页的源代码中.如果你进入你的网页并点击"查看源代码",你会看到php生成的html为一条长行.不漂亮.这\n
是为了什么; 将php生成的html分解为更短的行.目的\n
是制作一个更漂亮的"查看源"页面.
在浏览器中运行PHP脚本时,默认情况下它将呈现为HTML.如果您正在使用的图书显示,则代码或插图不准确.您可以使用"查看来源"查看发送到浏览器的内容,并且您会看到您的换行符存在.
<?php
echo "Line 1\nLine 2";
?>
Run Code Online (Sandbox Code Playgroud)
这将在您的浏览器中呈现为:
Line 1 Line 2
Run Code Online (Sandbox Code Playgroud)
如果您需要将纯文本发送到浏览器,可以使用以下内容:
<?php
header('Content-type: text/plain');
echo "Line 1\nLine 2";
?>
Run Code Online (Sandbox Code Playgroud)
这将输出:
Line 1
Line 2
Run Code Online (Sandbox Code Playgroud)
小智 7
nl2br()
用于创建新行的函数
echo nl2br("Welcome\r\n This is my HTML document", false);
Run Code Online (Sandbox Code Playgroud)
上面的例子将输出:
欢迎
这是我的 HTML 文档