当前位置: 首页 > 面试题库 >

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

楚俊逸
2023-03-14
问题内容

这似乎是骗人的,但请放心,事实并非如此-我在SO和网络的其余部分中搜索了我的问题的答案,并最终一遍又一遍地找到同样不足的“解决方案”。无论如何,这是这样的:

我正在将用户输入从文本区域保存到MySQL数据库(在WordPress环境中,但是我认为这对这个问题无关紧要)。稍后从数据库中检索它,以在站点的后端显示给Admins。当用户提交带有换行符的文本时(即按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,以后再对字符串进行处理。所以我知道我需要以上格式。


问题答案:

您应该能够用一个能去除所有换行符和回车符的预浸料代替它。代码是:

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

即使\n没有出现这些字符,如果要返回回车,那里也会有一个不可见的字符。胎片替换应抓住并修复这些。



 类似资料:
  • 问题内容: 我不知道如何从Java中的字符串中删除无效字符。我正在尝试删除不是数字,字母或()[]的所有字符。我怎样才能做到这一点? 谢谢 问题答案: Javadocs是您的朋友。正则表达式也是您的朋友。 编辑: siad,这仅适用于拉丁字母;您可以据此进行调整。可以用于表示“单词”字符(如果它适用于您的情况),尽管它包括在内。

  • 问题内容: 给定一个字符串,我需要检查是否有多个换行符(\ n)。如果有,我需要将它们转换为一个换行符。 您能告诉我执行此操作的代码吗?谢谢! 问题答案: 试试这个

  • 问题内容: 我在textarea中有一个文本,我使用.value属性将其读出。 现在,我想使用正则表达式.replace从我的文本中删除所有换行符(按时产生的字符),但是如何在正则表达式中指示换行符? 如果那不可能,还有另一种方法吗? 问题答案: 这可能是一个常见问题解答。无论如何,换行符(更好的是:换行符)可以是回车符(在较旧的Mac上为CR,),换行符(在Unices 包括Linux上为LF,

  • 我在textarea中有一个文本,我使用.value属性读出它。 现在我想从我的文本中删除所有的换行符(按Enter时产生的字符),现在使用.替换为正则表达式,但如何在正则表达式中指示换行符? 如果不可能的话,是否还有其他方法?

  • 问题内容: 我想删除特殊字符,例如: 使用Java从String中获取。 问题答案: 这取决于你定义为特殊字符的内容,但是请尝试: 请注意,该^字符不能是列表中的第一个字符,因为你要么必须对其进行转义,否则将意味着“除这些字符外的任何字符”。 另一个注意事项:-字符必须是列表中的第一个或最后一个,否则你必须对其进行转义,否则它将定义一个范围(例如,表示“ 范围内的所有字符” )。 所以,为了保持一

  • 问题内容: 我想从我的字符串中删除以下所有字符 “> [],-” 目前我正在这样做。但必须有一个更有效的方法 问题答案: 使用描述要替换的所有字符的正则表达式,以及替换与该正则表达式匹配的所有内容的方法: (编辑:实际上,我认为不应该转义。而且我忘记了将反斜杠加倍,因为它们会被解释两次:一次是由Java编译器,一次是由正则表达式引擎。)