2012-11-04 4 views
1

하나 이상의 밑줄, 대시 및 마침표가 포함될 수있는 문자열로 가득 찬 배열이 있습니다. 밑줄, 대시 및 마침표로 구분 된 문자로 나눠야합니다. 지금까지 나는 밑줄과 대시로 성공했지만 기간은 없었습니다.REGEX preg_split()

이 작동 : I 시도

$family02 = preg_split('/_|-/', $row['family'], -1, PREG_SPLIT_NO_EMPTY); 

...

'/_|-./' 
'/_|-\./' 
'/_|-|./' 

... 또는 다르게 구분 기호를 주문, 나는 3의 1 또는 3의 2, 빈에 분할을 얻을 배열.

도움이나 좋은 REGEX 링크를 이용해 주셔서 감사합니다.

RD

답변

2

간단히 -, _ 중 하나에 의해 분할을 의미하는

preg_split('/[-_.]/', $str) 

를 사용 .

당신이 원하는 경우 문자열 내부의 빈 그룹을 제거한 다음 사용하십시오.

preg_split('/[-_.]+/', $str) 

그래서 여러 결정자가 하나로 적용됩니다.

1

당신은 사용해야합니다

// [_.-] stands for a character of underscore or dash or period. 
$family02 = preg_split('/[_.-]/', $row['family'], -1, PREG_SPLIT_NO_EMPTY);