//匹配中文,字母,数字
$string = 'a>b%%c##1@23_测$$试??\\:.##,,??!!';
echo preg_replace('~[^0-9a-zA-Z\p{Han}]+~u', '', $string);
//结果:abc123测试
echo "=======";
//匹配非中文,字母,数字
$string = 'a>b%%c##1@23_测$$试??\\:.##,,??!!';
preg_match_all('~[^0-9a-zA-Z\p{Han}]+~u', $string, $arr);
print_r($arr);
/**
结果:
[0] => Array
(
[0] => >
[1] => %%
[2] => ##
[3] => @
[4] => _
[5] => $$
[6] => ??\:.##,,??!!
)
*/