如何从字符串中删除换行符(没有字符!)?这可能看起来像是一个骗局,但请放心不是 - 我已经搜索了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 回答
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
慕妹3146593
TA贡献1820条经验 获得超9个赞
您应该能够用删除所有换行符和回车符的preg替换它。代码是:
preg_replace( "/\r|\n/", "", $yourString );
即使\n
角色没有出现,如果你得到回车,那里有一个看不见的角色。preg替换应该抓住并修复它们。
![?](http://img1.sycdn.imooc.com/545865620001c45402760276-100-100.jpg)
慕容森
TA贡献1853条经验 获得超18个赞
str_replace()比preg_replace()要快得多
$buffer = str_replace(array("\r", "\n"), '', $buffer);
使用较少的CPU功率,减少世界二氧化碳排放量。
![?](http://img1.sycdn.imooc.com/545863dc00011d2202200220-100-100.jpg)
梦里花落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
- 3 回答
- 0 关注
- 1377 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消