5

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

preg_replace('/\t+|\s{2,}/', ' ', $street);

但是,如果它同时找到一个制表符和一个空格怎么办,那么我们最终不会有两个空格吗?原始空间和选项卡被替换的新空间。

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

4

1 回答 1

8

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

preg_replace('/\s+/', ' ', $street);
于 2013-05-09T15:08:43.603 回答