您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用PHP替换\ r \ n

用PHP替换\ r \ n

您尝试过的所有变体的主要问题在于,这两个\n\r都是转义字符, 只有在双引号字符串中使用它们时才会转义

PHP中,'\r\n'和之间有很大的区别"\r\n"。注意第一个中的单引号,第二个中的双引号。

因此: '\r\n'将产生一个包含斜杠,“ r”,另一个斜杠和“ n”的四个字符串,而"\r\n"将包含两个字符,即换行符和回车符。

因此,对问题的直接答案是,您需要使用问题中给出的第二个示例,但要用双引号而不是单引号:

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

值得指出的是,这将从输入中删除 所有 新行,并将其替换为空。如果输入中有多个新行,则将其全部删除。在不了解您的应用程序的情况下,我不知道这是否是您想要的,但是这里有一些想法:

如果只想从输入字符串的 末尾 删除空白行(和其他空格),则可以使用该trim()函数

如果要保留输出到HTML的格式,则此nl2br()功能将为您提供帮助。如果要输出为不带格式的HTML,则可能不需要删除它们,因为浏览器不会渲染\ n字符的换行符。

按照示例,如果您什么都没有替换新行,则第一行的最后一个单词将直接进入第二行的第一个单词,依此类推。您可能更喜欢用空格字符而不是什么代替它们。

用户可能只提交\n没有匹配项的输入,\r反之亦然(这可能是由于其OS或浏览器,故意的黑客入侵或其他多种原因)。如果要替换这两个字符的 所有 实例,一种更可靠的方法是单独替换它们,而不是依靠它们彼此相邻。str_replace()允许您通过在数组中指定它们来执行此操作。您也可以使用strtr()preg_replace()实现相同的目标。

希望能有所帮助。

php 2022/1/1 18:13:53 有556人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶