php - 如何从字符串中删除换行符(无字符!)?

标签 php html replace line-breaks nl2br

这似乎是一个骗局,但请放心,它不是 - 我已经搜索了 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,然后我想要对字符串执行的操作。所以我知道我需要上述格式。

最佳答案

Ben's solution是可以接受的,但是 str_replace()远远快于 preg_replace()

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

使用更少的 CPU 功率,减少全局二氧化碳排放量。

关于php - 如何从字符串中删除换行符(无字符!)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757671/

相关文章:

jquery - 提交时的下拉列表

javascript - 正则表达式替换 & 但不替换 < 和 >

javascript - 如何在 JavaScript 中去除数组元素中的非整数

javascript - 如何用 HTML 标签替换包含字符串的文本?

php - CakePHP 3 - 关联 BelongsToMany 和 hasMany - 通过选择限制列

php - 获取所有 url 类型的 youtube id

html - 将 div 放置在不同宽度的图像内

php - mysql时间戳选择旧记录

php - 将 float 转换为纯字符串表示形式

html - 我网站上的颜色看起来不一样