function read($len = null)
{
if (!$this->getInitialized()) {
$this->_initialize();
$this->setInitialized(true);
}
// read from next filter up the chain
$buffer = $this->in->read($len);
if ($buffer === -1) {
return -1;
}
// filter buffer
$buffer = preg_replace_callback("/" . preg_quote($this->_beginToken) . "([\\w\\.\\-:]+?)" . preg_quote($this->_endToken) . "/", array($this, 'replaceTokenCallback'), $buffer);
return $buffer;
}