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