如何从preg_split结果中删除空数组?

时间:2013-09-09 16:32:48

标签: php regex arrays

举个例子,我写了很多正则表达式,就像我写的那样简单:

php > var_dump( preg_split('/[:reg\s{}]+/', ':reg{/^[a-zA-Z]*$/}') );
array(3) {
  [0] =>
  string(0) ""
  [1] =>
  string(13) "/^[a-zA-Z]*$/"
  [2] =>
  string(0) ""
}

我想删除空数组[0] => string(0) "",例如结果应为:

php > var_dump( preg_split('????', ':reg{/^[a-zA-Z]*$/}') );
array(3) {
  [0] =>
  string(13) "/^[a-zA-Z]*$/"
}

删除空数组时我知道array_filter()函数,但我只想使用正则表达式

1 个答案:

答案 0 :(得分:4)

只需使用标记PREG_SPLIT_NO_EMPTY

preg_split('/[:reg\s{}]+/', ':reg{/^[a-zA-Z]*$/}', -1, PREG_SPLIT_NO_EMPTY);

请参阅doc