我目前正在开发一个评论系统,我正在使用fwrite实时显示评论。不幸的是我无法弄清楚如何放入换行符。我使用下面的代码:
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'>(".date("g:i A").") <b>".$_SESSION['fullname']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>");
fclose($fp);
任何想法, 感谢
答案 0 :(得分:3)
在写入文件时,您需要使用"\n"
作为换行符,而不是<br>
标记。如果<br>
标记是必需的(,这似乎就是这种情况 - 请参阅我的 旁注 然后保留它们并将"\n"
添加到您希望换行的代码中的所需位置,我觉得应该在结束div的末尾。
\n
的双引号在这里很重要,而不是使用单引号'\n'
。否则,它会在您的文件中输入\n
,例如</b>: Hello world<br></div>\n
所以你可以这样做:
... ($text))."<br></div>" . "\n");
产生类似于:
的东西<div class='msgln'>(1:29 PM) <b>John Doe</b>: Hello world<br></div>
<div class='msgln'>(1:35 PM) <b>Jane Doe</b>: Hello world<br></div>
旁注:您的代码中可能不需要<br>
标记。
使用... ($text))."</div>" . "\n");
会产生类似于:
(1:49 PM) John Doe: Hello world (1:55 PM) Jane Doe: Hello world
在网络浏览器中查看并显示为单独的行。
将HTML源代码读为:
<div class='msgln'>(1:49 PM) <b>John Doe</b>: Hello world</div>
<div class='msgln'>(1:55 PM) <b>Jane Doe</b>: Hello world</div>
另外,由于您正在使用会话,请确保使用会话在所有文件中启动会话。
session_start();
必须位于PHP之上。答案 1 :(得分:3)
正如之前在Linux上提到的\n
和/或
Windows上的 \r\n