element = $element; $this->withoutP = $withoutP; } /** * Write element * * @return string */ public function write() { $html = ''; $elmName = str_replace('PhpOffice\\PhpWord\\Element\\', '', get_class($this->element)); $elmWriterClass = 'PhpOffice\\PhpWord\\Writer\\HTML\\Element\\' . $elmName; if (class_exists($elmWriterClass) === true) { $elmWriter = new $elmWriterClass($this->element, $this->withoutP); $elmWriter->setParentWriter($this->parentWriter); $html = $elmWriter->write(); } return $html; } /** * Set parent writer * * @param \PhpOffice\PhpWord\Writer\HTML $pWriter */ public function setParentWriter(HTML $writer) { $this->parentWriter = $writer; } /** * Get parent writer * * @return \PhpOffice\PhpWord\Writer\HTML * @throws \PhpOffice\PhpWord\Exception\Exception */ public function getParentWriter() { if (!is_null($this->parentWriter)) { return $this->parentWriter; } else { throw new Exception("No parent HTML Writer assigned."); } } }