首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中删除字符串中的ASCII换行符(nl)和回车字符(cr

如何在php中删除字符串中的ASCII换行符(nl)和回车字符(cr
EN

Stack Overflow用户
提问于 2011-08-20 17:24:31
回答 3查看 4.6K关注 0票数 0

我必须从php字符串中删除和替换ASCII换行符(nl)和载体回车字符(cr)。

我尝试使用以下语句将$input中的所有ASCII (nl)字符替换为空格,但不起作用:

代码语言:javascript
复制
preg_replace('/[\x0a]+/',' ',$input);

然后我尝试用空格替换所有的ASCII控制字符,下面是语句:

代码语言:javascript
复制
ereg_replace('[[:cntrl:]]', ' ', $encoded); // didn't work

我也尝试了以下语句,但没有成功:

代码语言:javascript
复制
ereg_replace("[:cntrl:]", "", $pString);
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);

从php字符串中删除ASCII换行符(nl)和回车字符(cr)的正则表达式是什么?

我在下面提到了几个链接:

ASCII Table

Regular Expressions

Regular expression posix

EN

回答 3

Stack Overflow用户

发布于 2011-08-20 17:29:12

你不能直接使用str_replace

代码语言:javascript
复制
str_replace( array("\n", "\r"), "", $stringinput );
票数 4
EN

Stack Overflow用户

发布于 2011-08-20 17:30:25

为什么要使用regexp?有什么问题吗

代码语言:javascript
复制
str_replace(array("\n", "\r"), "", $string);

?在PHP中,字符\n和\r被保证是实际的换行符和回车符:http://php.net/manual/en/language.types.string.php

票数 3
EN

Stack Overflow用户

发布于 2011-08-21 01:53:36

如果你坚持使用preg_replace()来完成这样一个简单的任务,你可以使用:

代码语言:javascript
复制
$result = preg_replace('/[\r\n]/', '', $subject);

不过,你应该像以前建议的那样使用str_replace(array("\n", "\r"), "", $string);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7130891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档