例如,假设我有
$blah = "C$#@#.a534&";
我希望过滤字符串,以便只有字母,数字和“.”继续产生“C.a534”
我该怎么做呢?
解决方法:
如果您知道应该允许哪些字符,则可以使用否定字符组(在正则表达式中)删除其他所有字符:
$blah = preg_replace('/[^a-z0-9\.]/i', '', $blah);
请注意,我正在使用正则表达式的i修饰符.它匹配不区分大小写,因此我们不需要指定a-z和A-Z.