$string = "
put returns between paragraphs
for linebreak add 2 spaces at end
";
想从字符串中删除所有新行。
我有这个正则表达式,它可以捕获所有的,问题是我不知道该用哪个函数来使用它。
/\r\n|\r|\n/
$string应该变成:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
$string = "
put returns between paragraphs
for linebreak add 2 spaces at end
";
想从字符串中删除所有新行。
我有这个正则表达式,它可以捕获所有的,问题是我不知道该用哪个函数来使用它。
/\r\n|\r|\n/
$string应该变成:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
当前回答
这就是我要用的模式
$string = preg_replace('@[\s]{2,}@',' ',$string);
其他回答
$string = str_replace(array("\n", "\r"), ' ', $string);
这些解决方案中有许多对我不起作用。 这招奏效了:-
$svgxml = preg_replace("/(*BSR_ANYCRLF)\R/",'',$svgxml);
参考文献如下:- PCRE和New Lines
只需使用preg_replace()
$string = preg_replace('~[\r\n]+~', '', $string);
你可以在这个问题上使用str_replace(),尽管代码看起来不那么干净:
$string = str_replace(array("\n", "\r"), '', $string);
在脑海中看到它
转义序列\R匹配通用换行符
也就是说,任何被Unicode视为换行序列的东西。这包括由\v(垂直空格)匹配的所有字符,以及多字符序列\x0D\x0A…
$string = preg_replace('/\R+/', " ", $string);
在8位非utf -8模式下\R相当于以下内容:(?>\ R \n|\n|\x0b|\f|\ R |\x85)…pcre.org
Regex101演示
这就是我要用的模式
$string = preg_replace('@[\s]{2,}@',' ',$string);