英文、数字、字符混合字符串
public function stringToAry($str)
{
$array = [];
if ($str) {
$pinyin = preg_replace('/(?=\P{Nd})\P{L}/u', ' $0 ', $str);
$pinyinArray = explode(" ", $pinyin);
$pinyinArrayFilter = array_filter(
$pinyinArray,
function ($val) {
return ($val === '' || $val === null) ? false : true;
}
);
$array = array_values($pinyinArrayFilter);
}
return $array;
}
中文、英文、数字、字符混合字符串
public function stringToAry($str){
$result = [];
$notChStr = '';
foreach (preg_split("/((?<!^)(?!$))/u", $str) as $value) {
if (preg_match("/[_a-zA-Z0-9]/", $value)) {
$notChStr .= $value;
continue;
}
if ($notChStr != '') {
$result[] = $notChStr;
$notChStr = '';
}
if ($value == ' ') {
continue;
}
$result[] = $value;
}
return $result;
}