allowWhiteSpace = (boolean) $allowWhiteSpace; if (null === self::$_unicodeEnabled) { self::$_unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false; } } /** * Defined by Zend_Filter_Interface * * Returns the string $value, removing all but alphabetic characters * * @param string $value * @return string */ 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'; } return preg_replace($pattern, '', (string) $value); } }