setSearchSeparator($searchSeparator); $this->setReplacementSeparator($replacementSeparator); } /** * Sets a new seperator to search for * * @param string $separator Seperator to search for * @return $this */ public function setSearchSeparator($separator) { $this->_searchSeparator = $separator; return $this; } /** * Returns the actual set seperator to search for * * @return string */ public function getSearchSeparator() { return $this->_searchSeparator; } /** * Sets a new seperator which replaces the searched one * * @param string $separator Seperator which replaces the searched one * @return $this */ public function setReplacementSeparator($separator) { $this->_replacementSeparator = $separator; return $this; } /** * Returns the actual set seperator which replaces the searched one * * @return string */ public function getReplacementSeparator() { return $this->_replacementSeparator; } /** * Defined by Zend_Filter_Interface * * Returns the string $value, replacing the searched seperators with the defined ones * * @param string $value * @return string */ public function filter($value) { return $this->_separatorToSeparatorFilter($value); } /** * Do the real work, replaces the seperator to search for with the replacement seperator * * Returns the replaced string * * @param string $value * @return string */ protected function _separatorToSeparatorFilter($value) { if ($this->_searchSeparator == null) { require_once 'Zend/Filter/Exception.php'; throw new Zend_Filter_Exception('You must provide a search separator for this filter to work.'); } $this->setMatchPattern('#' . preg_quote($this->_searchSeparator, '#') . '#'); $this->setReplacement($this->_replacementSeparator); return parent::filter($value); } }