现在我正试着这个:
Array
(
[0] => hello
[1] =>
[2] => goodbye
)
索引1是空字符串。
$toBeSplit= 'hello,,goodbye';
$textSplitted = preg_split('/[,]+/', $toBeSplit, -1);
$textSplitted
看起来像这样:
Array
(
[0] => hello
[1] => goodbye
)
我正在使用PHP 5.3.2
答案 0 :(得分:5)
[,]+
表示一个或多个逗号字符,但尽可能匹配。仅使用/,/
,它可以正常运行:
$textSplitted = preg_split('/,/', $toBeSplit, -1);
但你甚至不需要正则表达式:
$textSplitted = explode(',', $toBeSplit);
答案 1 :(得分:1)
这个怎么样:
$textSplitted = preg_split('/,/', $toBeSplit, -1);
你的分裂正则表达式抓住了所有逗号,而不只是一个。
答案 2 :(得分:0)
你的模式使用一系列逗号分隔文本作为分隔符(它的语法也不完美,因为你无缘无故地使用了一个字符类),所以两个(或两百个)逗号就算一个。
无论如何,由于您只是使用文字字符作为分隔符,请使用explode()
:
$str = 'hello,,goodbye';
print_r(explode(',', $str));
输出:
Array
(
[0] => hello
[1] =>
[2] => goodbye
)