编辑: 我的问题简化了,我想归结为无法完全删除换行符。
我试过:$new_content = str_replace("\n", '<br/>', $_POST["new_content"]);
而且我看不出这不起作用的原因..但是当我检查文本文件时,我仍然有一个神秘的新行,如下所示:
event:|:Test:|:Line 1
<br/>Line 2:|:September 29th, 2012
原始问题:
我有一个带有文本字段和一个非常简单的“数据库”的表单,它只是一个 .txt 文件,我将提交的表单数据存储在其中。除了我刚刚注意到的一个主要问题之外,它一切正常。如果用户按下回车键进入文本框中的新行,无论结果字符串是什么,它都会弄乱我的文本文件,其中新行表示数据库中的另一行。
例如,文本文件通常应如下所示:
type:|:heading:|:content:|:date
event:|:Big Event 2012:|:More info and booking details.:|:September 29th, 2012
event:|:Website relaunch:|:Keep your eyes pealed.:|:September 25th, 2012
现在,如果我要填写表格,请在文本框中按回车键以开始新段落,我的文本文件如下所示:
type:|:heading:|:content:|:date
event:|:Test:|:paragraph 1
paragraph 2:|:September 29th, 2012
event:|:Website relaunch:|:Keep your eyes pealed.:|:September 25th, 2012
如您所见,该字符串已导致数据库中使用了一个新行,而我希望/希望类似..
event:|:Test:|:paragraph 1 \n paragraph 2 :|:September 29th, 2012 //or
event:|:Test:|:paragraph 1 <br/> paragraph 2 :|:September 29th, 2012
我确实尝试在网上寻找类似的问题,但所有的解决方案都指向使用类似的东西,nl2br($_POST["new_content"]);
但这似乎会产生一个格式如下的文本文件:
type:|:heading:|:content:|:date
event:|:Test:|:paragraph 1<br />
paragraph 2:|:September 29th, 2012
event:|:Website relaunch:|:Keep your eyes pealed.:|:September 25th, 2012
原来的问题仍然存在。有人可以解释为什么会发生这种情况,或者您对我应该如何在将检索到的字符串$_POST["new_content"]
保存在文本文件中之前对其进行格式化有什么建议吗?将不胜感激任何帮助!