element; $this->getFontStyle(); $content = ''; $content .= $this->writeOpening(); $content .= $this->openingText; $content .= $this->openingTags; $content .= htmlspecialchars($element->getText()); $content .= $this->closingTags; $content .= $this->closingText; $content .= $this->writeClosing(); return $content; } /** * Set opening text * * @param string $value */ public function setOpeningText($value) { $this->openingText = $value; } /** * Set closing text * * @param string $value */ public function setClosingText($value) { $this->closingText = $value; } /** * Write opening * * @return string */ protected function writeOpening() { $content = ''; if (!$this->withoutP) { $style = ''; if (method_exists($this->element, 'getParagraphStyle')) { $style = $this->getParagraphStyle(); } $content .= "
"; } return $content; } /** * Write ending * * @return string */ protected function writeClosing() { $content = ''; if (!$this->withoutP) { $content .= $this->closingText; $content .= "
" . PHP_EOL; } return $content; } /** * Write paragraph style * * @return string */ private function getParagraphStyle() { /** @var \PhpOffice\PhpWord\Element\Text $element Type hint */ $element = $this->element; $style = ''; if (!method_exists($element, 'getParagraphStyle')) { return $style; } $paragraphStyle = $element->getParagraphStyle(); $pStyleIsObject = ($paragraphStyle instanceof Paragraph); if ($pStyleIsObject) { $styleWriter = new ParagraphStyleWriter($paragraphStyle); $style = $styleWriter->write(); } if ($style) { $attribute = $pStyleIsObject ? 'style' : 'class'; $style = " {$attribute}=\"{$style}\""; } return $style; } /** * Get font style */ private function getFontStyle() { /** @var \PhpOffice\PhpWord\Element\Text $element Type hint */ $element = $this->element; $style = ''; $fontStyle = $element->getFontStyle(); $fStyleIsObject = ($fontStyle instanceof Font); if ($fStyleIsObject) { $styleWriter = new FontStyleWriter($fontStyle); $style = $styleWriter->write(); } if ($style) { $attribute = $fStyleIsObject ? 'style' : 'class'; $this->openingTags = ""; $this->closingTags = ""; } } }