为了账号安全,请及时绑定邮箱和手机立即绑定

如何从字符串中删除换行符(没有字符!)?

如何从字符串中删除换行符(没有字符!)?

幕布斯7119047 2019-08-17 15:32:20
如何从字符串中删除换行符(没有字符!)?这可能看起来像是一个骗局,但请放心不是 - 我已经搜索了SO以及网络的其他部分来解决我的问题并最终找到相同的不足“解决方案”一遍又一遍。无论如何,这里是:我正在将用户输入从textarea保存到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如果字符串中有EOL字符,例如“\ n”,我用其中任何一个str_replace()或者preg_replace()用它来完成它,但我不知道如果没有字符那么用什么针来提供这些函数首先。我可以手动访问数据库中的相关字段,为每个换行符点击Backspace,以及我以后想要对字符串工作的内容。所以我知道我需要以上格式。
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您应该能够用删除所有换行符和回车符的preg替换它。代码是:

preg_replace( "/\r|\n/", "", $yourString );

即使\n角色没有出现,如果你得到回车,那里有一个看不见的角色。preg替换应该抓住并修复它们。


查看完整回答
反对 回复 2019-08-17
?
慕容森

TA贡献1853条经验 获得超18个赞

str_replace()preg_replace()要快得多

$buffer = str_replace(array("\r", "\n"), '', $buffer);

使用较少的CPU功率,减少世界二氧化碳排放量。


查看完整回答
反对 回复 2019-08-17
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

$str = "
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br />
<br />
Greetings,<br />
Bill";echo str_replace(array("\n", "\r"), '', $str);  // echo $str in a single line


查看完整回答
反对 回复 2019-08-17
  • 3 回答
  • 0 关注
  • 1377 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信