我必须从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
你不能直接使用str_replace吗?
str_replace( array("'n", "'r"), "", $stringinput );
为什么使用regexp?
怎么了?str_replace(array("'n", "'r"), "", $string);
?在PHP中,字符'n和'r保证是实际的换行符和回车符:http://php.net/manual/en/language.types.string.php
如果您坚持使用preg_replace()
来完成这样一个简单的任务,您可以使用:
$result = preg_replace('/['r'n]/', '', $subject);
尽管,您应该按照先前的建议使用str_replace(array("'n", "'r"), "", $string);