/** * Defined by Zend\Filter\Filter * * @param string $value * @return string */ public function filter($value) { if (self::isUnicodeSupportEnabled()) { parent::setMatchPattern(array('#(?<=(?:\\p{Lu}))(\\p{Lu}\\p{Ll})#', '#(?<=(?:\\p{Ll}|\\p{Nd}))(\\p{Lu})#')); parent::setReplacement(array($this->_separator . '\\1', $this->_separator . '\\1')); } else { parent::setMatchPattern(array('#(?<=(?:[A-Z]))([A-Z]+)([A-Z][A-z])#', '#(?<=(?:[a-z0-9]))([A-Z])#')); parent::setReplacement(array('\\1' . $this->_separator . '\\2', $this->_separator . '\\1')); } return parent::filter($value); }
/** * Defined by Zend\Filter\Filter * * @param string $value * @return string */ public function filter($value) { // a unicode safe way of converting characters to \x00\x00 notation $pregQuotedSeparator = preg_quote($this->_separator, '#'); if (self::isUnicodeSupportEnabled()) { parent::setMatchPattern(array('#(' . $pregQuotedSeparator . ')(\\p{L}{1})#e', '#(^\\p{Ll}{1})#e')); parent::setReplacement(array("strtoupper('\\2')", "strtoupper('\\1')")); } else { parent::setMatchPattern(array('#(' . $pregQuotedSeparator . ')([A-Za-z]{1})#e', '#(^[A-Za-z]{1})#e')); parent::setReplacement(array("strtoupper('\\2')", "strtoupper('\\1')")); } return parent::filter($value); }