0

我想在comma or semicolon遇到时将字符串转换为数组。

例如一个字符串a , b ; c , d ; e将被转换为

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

我尝试使用explode,到目前为止效果很好,但我只能指定 一个分隔符,就像explode(",",$str)我想使用两个分隔符一样。即逗号和分号。

我不知道是否可以在explode 函数中指定一个模式作为第一个参数。

4

3 回答 3

3

使用preg_split

$pieces = preg_split('@[,;]@', 'a,b;c,d;e');
于 2012-10-15T14:34:21.813 回答
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 回答
0

尝试这个:

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

echo $var_save;
于 2012-10-15T15:05:04.710 回答