public function filter($value) { $whiteSpace = $this->allowWhiteSpace ? '\s' : ''; if (!self::$_unicodeEnabled) { // POSIX named classes are not supported, use alternative a-zA-Z0-9 match $pattern = '/[^a-zA-Z0-9' . $whiteSpace . ']/'; } else { // Unicode safe filter for the value if(extension_loaded('mbstring')){ $pattern = '/[^[:alnum:]' . $whiteSpace . ']/u'; }else{ $pattern = '/[^\p{L}\p{N}' . $whiteSpace . ']/u'; } } return preg_replace($pattern, '', (string) $value); }