protected function _writeTitle(PHPWord_Shared_XMLWriter $objWriter = null, PHPWord_Section_Title $title) { $text = htmlspecialchars($title->getText()); $text = PHPWord_Shared_String::ControlCharacterPHP2OOXML($text); $anchor = $title->getAnchor(); $bookmarkId = $title->getBookmarkId(); $style = $title->getStyle(); $objWriter->startElement('w:p'); if (!empty($style)) { $objWriter->startElement('w:pPr'); $objWriter->startElement('w:pStyle'); $objWriter->writeAttribute('w:val', $style); $objWriter->endElement(); $objWriter->endElement(); } $objWriter->startElement('w:r'); $objWriter->startElement('w:fldChar'); $objWriter->writeAttribute('w:fldCharType', 'end'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->startElement('w:bookmarkStart'); $objWriter->writeAttribute('w:id', $bookmarkId); $objWriter->writeAttribute('w:name', $anchor); $objWriter->endElement(); $objWriter->startElement('w:r'); $objWriter->startElement('w:t'); $objWriter->writeRaw($text); $objWriter->endElement(); $objWriter->endElement(); $objWriter->startElement('w:bookmarkEnd'); $objWriter->writeAttribute('w:id', $bookmarkId); $objWriter->endElement(); $objWriter->endElement(); }
/** * Add a Title Element * * @param string $text * @param int $depth * @return PHPWord_Section_Title */ public function addTitle($text, $depth = 1) { $styles = PHPWord_Style::getStyles(); if (array_key_exists('Heading_' . $depth, $styles)) { $style = 'Heading' . $depth; } else { $style = null; } $title = new PHPWord_Section_Title($text, $depth, $style); $data = PHPWord_TOC::addTitle($text, $depth); $anchor = $data[0]; $bookmarkId = $data[1]; $title->setAnchor($anchor); $title->setBookmarkId($bookmarkId); $this->_elementCollection[] = $title; return $title; }