public function filter($value) { if (!self::$_unicodeEnabled) { // POSIX named classes are not supported, use alternative 0-9 match $pattern = '/[^0-9]/'; } else { if(extension_loaded('mbstring')){ $pattern = '/[^[:digit:]]/'; }else{ $pattern = '/[\p{^N}]/'; } } return preg_replace($pattern, '', (string) $value); }