2012-10-15 2 views
0

comma or semicolon이 발생하면 문자열을 배열로 변환하려고합니다.여러 deliminator가 발생하면 문자열을 배열로 변환합니다.

예를 들어 문자열 a , b ; c , d ; e

[0] = a 
[1] = b 
[2] = c 
[3] = d 
[4] = e 
내가 explode를 사용하여 시도

으로 변환됩니다 그것은 잘 지금까지 작동하지만 내가 두를 사용하려는 동안 내가 explode(",",$str)처럼 만 하나 deliminator를 지정할 수 있어요 deliminators. 예 : 쉼표 및 세미콜론

explode 함수에서 패턴을 첫 번째 매개 변수로 지정할 수 있는지 여부를 알 수 없습니다.

+0

혼란 것 같아요 조금 – Hunt

답변

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)) }); 

Basicly, 우리는 각각의 문자가 배열의 요소 배열에 문자열을 분할합니다. 그런 다음 delimeters가 아닌 문자 만 다시 검색하도록 배열을 필터링합니다 (단락 문자 배열을 업데이트).

0

이 시도 : 유권자 아래

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

echo $var_save; 
관련 문제