编程语言
首页 > 编程语言> > preg_split在PHP中有两个分隔符

preg_split在PHP中有两个分隔符

作者:互联网

如何在preg_split中合并两个分隔符?例如:

$str = "this is a test , and more";
$array = preg_split('/( |,)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($array);

会产生一个数组

Array
(
    [0] => this
    [1] =>  
    [2] => is
    [3] =>  
    [4] => a
    [5] =>  
    [6] => test
    [7] =>  
    [8] => 
    [9] => ,
    [10] => 
    [11] =>  
    [12] => and
    [13] =>  
    [14] => more
)

但我想得到

Array
(
    [0] => this
    [1] =>  
    [2] => is
    [3] =>  
    [4] => a
    [5] =>  
    [6] => test
    [7] => ,
    [8] => and
    [9] =>  
    [10] => more
)

实际上,当两个分隔符是邻居时,我想合并数组元素.换句话说,如果下一部分是第二个分隔符,则忽略第一个分隔符.

解决方法:

尝试使用字符类:/ [,] /

量词是指“1或更多”

标签:php,arrays,split,preg-split
来源: https://codeday.me/bug/20190517/1123582.html