0

comma or semicolonに遭遇したときに文字列を配列に変換したい。

たとえば、文字列a , b ; c , d ; eはに変換されます

[0] = a 
[1] = b
[2] = c
[3] = d
[4] = e

使っexplodeてみましたが、今のところうまく いきますが、2つのデリミネーターを使いたいのと同じように、 1つのデリミネーターしか指定できません。explode(",",$str)つまり、コンマとセミコロン。

explode関数のパターンを最初のパラメーターとして指定できるかどうかわかりません。

4

3 に答える 3

3

使用preg_split

$pieces = preg_split('@[,;]@', 'a,b;c,d;e');
于 2012-10-15T14:34:21.813 に答える
0

これを試して:

$var_save = strtok($string,',;');

echo $var_save;
于 2012-10-15T15:05:04.710 に答える
0

それを行う別の方法:

$delimeters = array(',',';');

$arr = str_split($str);
/*
[0] = a 
[1] = ,
[2] = b
[3] = ;
[4] = c
[5] = ,
[6] = d ...
*/

$filterd = array_filter($arr, function($elem){ return (!in_array($elem , $delimeters)) });

基本的に、文字列を配列に分割して、各文字が配列の要素になるようにします。その後、配列をフィルタリングして、区切り文字ではない文字のみを再調整します(区切り文字配列を更新するだけです)。

于 2012-10-15T14:46:13.607 に答える