我的表单使用POST将信息发送到PHP脚本。 PHP读取$content
并将其保存到file.txt
,并使用以下代码在浏览器上显示它:
$content = $_POST['content'];
file_put_contents("file.txt", $content);
echo $content;
如果我在表单中使用换行符,那么file.txt
将包含所有换行符。但是,当我向浏览器回显相同的$content
时,根本没有换行符。我的意思是源代码。我的目的是在另一种形式$content
中使用<textarea>
,但即使是textarea也不会显示任何换行符。
file_put_contents
如何找到换行符?
答案 0 :(得分:0)
在向浏览器显示内容时使用php函数nl2br()
。
<?php echo nl2br($content); ?>
nl2br - 在字符串
中的所有换行符之前插入HTML换行符
答案 1 :(得分:0)
我认为换行没有消失。使用记事本或基于Windows的编辑器无法看到它们。
大多数浏览器仅使用Unix / MacOS换行符(\n
),而Windows编辑器仅识别Windows换行符(\r\n
)。
而不是
$content = $_POST['content'];
尝试
$content = str_replace("\n", "\r\n", $_POST['content']);
更多参考资料:
答案 2 :(得分:0)
试试这个:
$content = $_POST['content'];
file_put_contents("file.txt", $content);
echo "<pre>";
echo $content;
echo "</pre>";
答案 3 :(得分:0)
好的,谢谢Skye,问题解决了。我使用javascript生成的<input>
标记来发送包含换行符的文本。我将其更改为<textarea>
,我现在可以抓住所有换行符。
我无法理解为什么从file.txt
保存到<input>
时我可以换行...