Php 替换制表符或多个空格

Php 替换制表符或多个空格,php,regex,preg-replace,Php,Regex,Preg Replace,我只是想检查这段代码是否对我正在尝试的操作有效(用一个空格替换制表符或多个空格) preg_replace('/\t+|\s{2,}/', ' ', $street); 然而,如果它同时发现了一个标签和一个空格,那么我们不就得到了两个空格吗?原来的空格&标签被替换的新空格 如何更改它以使字符串中的任何空格始终只作为一个空格?由于\s将同时匹配制表符和空格(以及其他形式的空格),这本身就可以用单个空格替换任意数量的连续空格: preg_replace('/\s+/', ' ', $street)

我只是想检查这段代码是否对我正在尝试的操作有效(用一个空格替换制表符或多个空格)

preg_replace('/\t+|\s{2,}/', ' ', $street);
然而,如果它同时发现了一个标签和一个空格,那么我们不就得到了两个空格吗?原来的空格&标签被替换的新空格


如何更改它以使字符串中的任何空格始终只作为一个空格?

由于
\s
将同时匹配制表符和空格(以及其他形式的空格),这本身就可以用单个空格替换任意数量的连续空格:

preg_replace('/\s+/', ' ', $street);

\s
不仅仅是一个空格,而是任何空白字符,包括制表。@gumbo…..啊,没错,有时我会忘记哈哈