doumao1917 2013-09-09 16:32
浏览 64
已采纳

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

For an example I have tons of regex as simple I wrote:

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) ""
}

I want remove empty arrays [0] => string(0) "" for example a result should be:

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

I know array_filter() function when remove empty arrays, but I want using regular expression only.

  • 写回答

1条回答 默认 最新

  • duanfan5012 2013-09-09 16:40
    关注

    Just use the flag PREG_SPLIT_NO_EMPTY:

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

    See the doc

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?