parse($text); return $this->_chapters; } protected function renderHeadline($block) { if ($this->_chapter === 0) { $this->title = $this->renderAbsy($block['content']); $this->introduction = ''; $this->_chapter++; } else { $this->_chapter++; $this->_chapters[$this->_chapter] = [ 'headline' => $this->renderAbsy($block['content']), 'content' => [], ]; } return parent::renderHeadline($block); } protected function renderParagraph($block) { if ($this->_chapter < 1) { $this->introduction .= $this->renderAbsy($block['content']); } return parent::renderParagraph($block); } protected function renderList($block) { if ($this->_chapter > 0) { foreach ($block['items'] as $item => $itemLines) { if (preg_match('~\[([^\]]+)\]\(([^\)]+)\)(.*)~', $this->renderAbsy($itemLines), $matches)) { $this->_chapters[$this->_chapter]['content'][] = [ 'headline' => $matches[1], 'file' => $matches[2], 'teaser' => $matches[3], ]; } } } return parent::renderList($block); } }