public function parse($filename, $delete_whitespaces = true)
{
if (!is_string($filename)) {
throw new InvalidArgumentException(sprintf('Expecting $filename to be a string, %s given!', gettype($filename)));
}
$this->filename = $filename;
foreach (self::$fragmentDirs as $fragDir) {
$fragment = $fragDir . $filename;
if (is_readable($fragment)) {
ob_start();
if ($delete_whitespaces) {
preg_replace('/(?:(?<=\\>)|(?<=\\/\\>))(\\s+)(?=\\<\\/?)/', '', require $fragment);
} else {
require $fragment;
}
$content = ob_get_clean();
if ($this->decorator) {
$this->decorator->setVar('rexDecoratedContent', $content, false);
$content = $this->decorator->parse($this->decorator->filename);
}
return $content;
}
}
throw new rex_exception(sprintf('Fragmentfile "%s" not found!', $filename));
}