如何分割一个字符串与两个或更多的模式在PHP中

我想分裂一个字符串在PHP中,我有两个或两个以上的分隔符的数组。

$string = "[Java , Android , Kotlin]"; 

我需要 :

  $mArray[0] = "Java"; $mArray[1] = "Android"; $mArray[2] = "Kotlin"; 

但是当我使用

  $mArray = explode(',' , $string); 

它回报我:

  $mArray[0] = "[Java"; $mArray[1] = "Android"; $mArray[2] = "Kotlin]"; 

谢谢您的回答。

在爆炸之前修正(除去[和])字符串,或者在之后循环。

  Java [1] => Android [2] => Kotlin ) */ 

或者像下面这样,如果字符串保证有space,space

  

或爆炸后修复,无论是由foreach或array_walk等。

  

爆炸之前,您需要替换字符串:

  

preg_split如何?

 $string = "[Java , Android , Kotlin]"; $mArray = preg_split('/\[|\]|\h*,\h*/', $string, -1, PREG_SPLIT_NO_EMPTY); print_r($mArray); 

输出:

 Array ( [0] => Java [1] => Android [2] => Kotlin ) 

正则expression式解释:

 / : regex delimiter \[ : open bracket | : OR \] : close bracket | : OR \h*,\h* : a comma between 0 or more horizontal spaces / : regex delimiter