如何从 php 字符串中删除 ASCII 换行符 (nl) 和载体返回字符 (cr)

发布于 2024-12-01 02:00:51 字数 869 浏览 1 评论 0原文

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

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

preg_replace('/[\x0a]+/',' ',$input);

然后我尝试将所有 ASCII 控制字符替换为空格,以下是语句:

ereg_replace('[[:cntrl:]]', ' ', $encoded); // didn't work

我也尝试了以下语句但他们没有运气:

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 表
正则表达式
正则表达式 posix

I have to remove and replace ASCII newline characters (nl) and carrier return characters (cr) from a php string.

I tried using following statement to replace all ASCII (nl) char from $input with blank space but didn't work:

preg_replace('/[\x0a]+/',' ',$input);

then i tried to replace all the ASCII control characters with blank spaces, following is the statement:

ereg_replace('[[:cntrl:]]', ' ', $encoded); // didn't work

I tried the following statements also but no luck with them:

ereg_replace("[:cntrl:]", "", $pString);
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);

What is the regex expression to remove ASCII newline characters (nl) and carrier return characters (cr) from a php string?

I referred to few link below :
ASCII Table
Regular Expressions
Regular expression posix

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

天煞孤星 2024-12-08 02:00:51

你不能只使用 str_replace 吗?

str_replace( array("\n", "\r"), "", $stringinput );

Can't you just use str_replace?

str_replace( array("\n", "\r"), "", $stringinput );
少跟Wǒ拽 2024-12-08 02:00:51

为什么使用正则表达式?有什么问题吗

str_replace(array("\n", "\r"), "", $string);

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

Why use a regexp? What's wrong with

str_replace(array("\n", "\r"), "", $string);

? In PHP, the characters \n and \r are guaranteed to be the actual newline and carriage return points: http://php.net/manual/en/language.types.string.php

月牙弯弯 2024-12-08 02:00:51

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

$result = preg_replace('/[\r\n]/', '', $subject);

虽然,您应该使用 str_replace(array("\n", "\r "), "", $string); 如前所述。

if you insist using preg_replace() for such a simple task you can use:

$result = preg_replace('/[\r\n]/', '', $subject);

Although, you should use str_replace(array("\n", "\r"), "", $string); as advised previoulsy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文