_search = $search; $this->_replace = $replace; } /** * Returns true if based on the buffer passed more bytes should be buffered. * * @param string $buffer * * @return bool */ public function shouldBuffer($buffer) { if ('' === $buffer) { return false; } $endOfBuffer = substr($buffer, -1); foreach ((array) $this->_search as $needle) { if (false !== strpos($needle, $endOfBuffer)) { return true; } } return false; } /** * Perform the actual replacements on $buffer and return the result. * * @param string $buffer * * @return string */ public function filter($buffer) { return str_replace($this->_search, $this->_replace, $buffer); } }