PHP正则表达式由前两个空格分隔


PHP regex split by first two spaces

下面是我的代码:

preg_split( '/ {2}/', $searchString );

我应该如何设置{},它分割前两个空格,忽略其余的,所以:

foo foo foo foo

得到:

foo|foo|foo foo

编辑:因为这个答案,我认识到正则表达式甚至不是必要的。我不知道可以限制爆炸

可以对PREG函数的替换次数进行限制。

要得到你需要的东西,你可以这样做:

$newString = preg_replace( '/'s+/', '|', 'foo foo foo foo', 2);

这将用一个管道替换前两组白色字符。

使用preg_split的第三个参数:

print_r(preg_split( '/ /', 'foo foo foo foo', 3));
// Outputs: Array ( [0] => foo [1] => foo [2] => foo foo ) 

之后可以将implode result array with | .

但最好使用preg_replacelimit在@jerdzej的回答。