PHP:使用preg_split在空行上拆分

PHP: Using preg_split to split on empty lines

我想使用空行作为分隔符来拆分多行字符串。

例如:

apple
aardvark
accordion

banana
bilby
banjo

cherry
cockatoo
cello

应该给我这样的结果:

Array
(
    [0] => apple
aardvark
accordion
[2] => banana
bilby
banjo
[3] => cherry
cockatoo
cello

我试过以下方法:

$data=preg_split('/^$/m',$data);

但我得到以下结果:

Array
(
    [0] => apple
aardvark
accordion

    [1] => 
banana
bilby
banjo

    [2] => 
cherry
cockatoo
cello
)

也就是说,结果似乎包括前导和尾随空行。

我试过 PREG_SPLIT_NO_EMPTY,但这只会让情况变得更糟:结果是一个字符串。

用空行分割字符串怎么办?

为什么不使用简单的 explode() 函数?

$str = "apple
aardvark
accordion

banana
bilby
banjo

cherry
cockatoo
cello" ;

 $arr = explode(PHP_EOL.PHP_EOL, $str);

Var_dump ($arr);

输出:

 array(3) {
 [0]=>
 string(24) "apple
 aardvark
 accordion"
 [1]=>
 string(18) "banana
 bilby
 banjo"
 [2]=>
 string(21) "cherry
cockatoo
cello"
}

https://3v4l.org/98CV8