2009-05-21 36 views
0

我有一组字符串,需要将其组合到一个数组中。 该字符串需要分成'/',',','带'或'&'。 不幸的是,一个字符串可能包含两个需要拆分的字符串,所以我不能使用拆分或爆炸。根据数组中的值拆分字符串

的字符串,例如可以说“第一个冲过/超越&然后转”,所以我试图让一个数组,将返回 阵列(“第一过去”,“超越”,“然后打开”)

我目前使用的代码是

 
$splittersArray=array('/', ',', ' with ','&'); 
    foreach($splittersArray as $splitter){ 
if(strpos($string, $splitter)){ 
    $splitString = split($splitter, $string); 
    foreach($splitString as $split){ 

我似乎无法找到PHP函数,可以让我做到这一点。 我是否需要将字符串传递回漏斗顶部,并在字符串被一次又一次拆分后继续通过'foreach'?

这看起来效率不高。 任何建议都会很棒。 谢谢, 皮特

+1

“遗憾的是,可能一个字符串包含两个需要被分割在弦上的,所以我不能使用分裂或爆炸。“你能解释一下你的意思吗? – 2009-05-21 02:53:41

+0

我刚加了一个例子来说明 – pedalpete 2009-05-21 03:02:35

回答

8

使用正则表达式和preg_split

在你所提到的情况下,你会得到分割阵列:

$splitString = preg_split('/(\/|\,| with |\&/)/', $string);