2012-11-04 48 views
1

我有一个数组,其中可能包含一个或多个下划线,破折号和句点。我想分割成由下划线,短划线和句点分隔的字符。到目前为止,我已经在下划线和破折号方面取得了成功,但没有成功。REGEX preg_split()

这工作:

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

当我尝试...

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

...或不同定购分隔符,我得到的3 1或3两,或空分裂阵列。

感谢您的帮助或良好的REGEX链接。

回答

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