/framework/vendor/swift/lib/classes/Swift/StreamFilters/StringReplacementFilter.php
PHP | 66 lines | 27 code | 9 blank | 30 comment | 1 complexity | c7994884f113f5a2926c9f40b9927ea6 MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.1
- <?php
- /*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- //@require 'Swift/StreamFilter.php';
- /**
- * Processes bytes as they pass through a buffer and replaces sequences in it.
- * @package Swift
- * @author Chris Corbyn
- */
- class Swift_StreamFilters_StringReplacementFilter implements Swift_StreamFilter
- {
-
- /** The needle(s) to search for */
- private $_search;
-
- /** The replacement(s) to make */
- private $_replace;
-
- /**
- * Create a new StringReplacementFilter with $search and $replace.
- * @param string|array $search
- * @param string|array $replace
- */
- public function __construct($search, $replace)
- {
- $this->_search = $search;
- $this->_replace = $replace;
- }
-
- /**
- * Returns true if based on the buffer passed more bytes should be buffered.
- * @param string $buffer
- * @return boolean
- */
- public function shouldBuffer($buffer)
- {
- $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);
- }
-
- }