如何分割一个字符串与两个或更多的模式在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