1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- /**
- * This file is part of PHPWord - A pure PHP library for reading and writing
- * word processing documents.
- *
- * PHPWord is free software distributed under the terms of the GNU Lesser
- * General Public License version 3 as published by the Free Software Foundation.
- *
- * For the full copyright and license information, please read the LICENSE
- * file that was distributed with this source code. For the full list of
- * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
- *
- * @see https://github.com/PHPOffice/PHPWord
- * @copyright 2010-2018 PHPWord contributors
- * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
- */
- namespace PhpOffice\PhpWord\Element;
- use PhpOffice\PhpWord\Shared\Text as SharedText;
- use PhpOffice\PhpWord\Style\Font;
- use PhpOffice\PhpWord\Style\Paragraph;
- /**
- * Preserve text/field element
- */
- class PreserveText extends AbstractElement
- {
- /**
- * Text content
- *
- * @var string|array
- */
- private $text;
- /**
- * Text style
- *
- * @var string|\PhpOffice\PhpWord\Style\Font
- */
- private $fontStyle;
- /**
- * Paragraph style
- *
- * @var string|\PhpOffice\PhpWord\Style\Paragraph
- */
- private $paragraphStyle;
- /**
- * Create a new Preserve Text Element
- *
- * @param string $text
- * @param mixed $fontStyle
- * @param mixed $paragraphStyle
- */
- public function __construct($text = null, $fontStyle = null, $paragraphStyle = null)
- {
- $this->fontStyle = $this->setNewStyle(new Font('text'), $fontStyle);
- $this->paragraphStyle = $this->setNewStyle(new Paragraph(), $paragraphStyle);
- $this->text = SharedText::toUTF8($text);
- $matches = preg_split('/({.*?})/', $this->text, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
- if (isset($matches[0])) {
- $this->text = $matches;
- }
- }
- /**
- * Get Text style
- *
- * @return string|\PhpOffice\PhpWord\Style\Font
- */
- public function getFontStyle()
- {
- return $this->fontStyle;
- }
- /**
- * Get Paragraph style
- *
- * @return string|\PhpOffice\PhpWord\Style\Paragraph
- */
- public function getParagraphStyle()
- {
- return $this->paragraphStyle;
- }
- /**
- * Get Text content
- *
- * @return string|array
- */
- public function getText()
- {
- return $this->text;
- }
- }
|