有个字符串可能是数字,大小写字母构成,由于用户输入的不确定性,用户会多输入空格或者引号之类的,需要还原出有效数据。

使用正则表达式去匹配

1. 把匹配出来的字符串进行拼接

$pattern = '([a-zA-Z0-9]+)';
$str = 'M3NRCX02J5"7718';
preg_match_all($pattern, $str, $matches);
echo implode('', $matches[0]);

2. 把匹配出来的非法字符串移除

$pattern = '([^a-zA-Z0-9]+)';
preg_match_all($pattern, $str, $matches);

然后再把matches 遍历替换