_separator, '#'); if (self::isUnicodeSupportEnabled()) { parent::setMatchPattern(array('#('.$pregQuotedSeparator.')(\p{L}{1})#','#(^\p{Ll}{1})#')); parent::setReplacement(array('Zend_Filter_Word_SeparatorToCamelCase', '_strtoupperArray')); } else { parent::setMatchPattern(array('#('.$pregQuotedSeparator.')([A-Za-z]{1})#','#(^[A-Za-z]{1})#')); parent::setReplacement(array('Zend_Filter_Word_SeparatorToCamelCase', '_strtoupperArray')); } return preg_replace_callback($this->_matchPattern, $this->_replacement, $value); } /** * @param array $matches * @return string */ private static function _strtoupperArray(array $matches) { if (array_key_exists(2, $matches)) { return strtoupper($matches[2]); } return strtoupper($matches[1]); } }