Why is `filter_var()` replaced by `preg_match()`? Doesn't it change the existing behaviour?