最佳答案
这可能看起来像是一个骗局,但是请放心,它不是——我已经搜索了所以以及网络的其他部分来寻找我的问题的答案,结果一遍又一遍地找到同样不充分的“解决方案”。不管怎样,我要说的是:
我将用户输入从一个文本区域保存到一个 MySQL 数据库(在 WordPress 环境中,但我相信这应该不会影响到这个问题)。稍后将从数据库中检索它,并显示给站点后端的管理员。当用户提交带有换行符的文本时(例如,按下 Enter 键) ,就会出现问题。
示例字符串可能如下所示:
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!
Greetings,
Bill
字符串中没有行尾字符(“ n”、“ r”或类似字符)。
我使用 nl2br()
来生成 HTML 输出,但这还不够,结果是:
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br />
<br />
Greetings,<br />
Bill
根据我的理解,这就是预期的 nl2br()
结果,因为它插入了标记,并且一开始就不应该替换换行符?
然而,我需要的格式是这样的:
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br /><br />Greetings,<br />Bill
如果字符串中有类似“ n”这样的 EOL 字符,我会用 str_replace()
或者 preg_replace()
来命中它,然后就完成了,但是如果首先没有字符的话,我不知道该用什么指针来填充这两个函数。
我可以手动访问数据库中的相关字段,对于每个换行符点击 Backspace,然后我想对字符串做什么就可以了。所以我知道我需要以上的格式。