File manager - Edit - /var/www/ratemypay_dev/vendor/phpoffice/phpword/src/PhpWord/Writer/HTML.php
Back
<?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 * * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3 */ namespace PhpOffice\PhpWord\Writer; use PhpOffice\PhpWord\PhpWord; use PhpOffice\PhpWord\Settings; use PhpOffice\PhpWord\Shared\Validate; use PhpOffice\PhpWord\Style\Font; /** * HTML writer. * * Not supported: PreserveText, PageBreak, Object * * @since 0.10.0 */ class HTML extends AbstractWriter implements WriterInterface { /** * Is the current writer creating PDF? * * @var bool */ protected $isPdf = false; /** * Footnotes and endnotes collection. * * @var array */ protected $notes = []; /** * Callback for editing generated html. * * @var null|callable */ private $editCallback; /** * Default generic name for default font for html. * * @var string */ private $defaultGenericFont = ''; /** * Default white space style for html. * * @var string */ private $defaultWhiteSpace = ''; /** * Create new instance. */ public function __construct(?PhpWord $phpWord = null) { $this->setPhpWord($phpWord); $this->parts = ['Head', 'Body']; foreach ($this->parts as $partName) { $partClass = 'PhpOffice\\PhpWord\\Writer\\HTML\\Part\\' . $partName; if (class_exists($partClass)) { /** @var \PhpOffice\PhpWord\Writer\HTML\Part\AbstractPart $part Type hint */ $part = new $partClass(); $part->setParentWriter($this); $this->writerParts[strtolower($partName)] = $part; } } } /** * Save PhpWord to file. */ public function save(string $filename): void { $this->writeFile($this->openFile($filename), $this->getContent()); } /** * Get content. * * @return string * * @since 0.11.0 */ public function getContent() { $content = ''; $content .= '<!DOCTYPE html>' . PHP_EOL; $content .= '<!-- Generated by PHPWord -->' . PHP_EOL; $langtext = ''; $phpWord = $this->getPhpWord(); $lang = $phpWord->getSettings()->getThemeFontLang(); if (!empty($lang)) { $lang2 = $lang->getLatin(); if (!$lang2) { $lang2 = $lang->getEastAsia(); } if (!$lang2) { $lang2 = $lang->getBidirectional(); } if ($lang2) { $langtext = " lang='" . $lang2 . "'"; } } $content .= "<html$langtext>" . PHP_EOL; $content .= $this->getWriterPart('Head')->write(); $content .= $this->getWriterPart('Body')->write(); $content .= '</html>' . PHP_EOL; // Trigger a callback for editing the entire HTML $callback = $this->editCallback; if ($callback !== null) { $content = $callback($content); } return $content; } /** * Return the callback to edit the entire HTML. */ public function getEditCallback(): ?callable { return $this->editCallback; } /** * Set a callback to edit the entire HTML. * * The callback must accept the HTML as string as first parameter, * and it must return the edited HTML as string. */ public function setEditCallback(?callable $callback): self { $this->editCallback = $callback; return $this; } /** * Get is PDF. * * @return bool */ public function isPdf() { return $this->isPdf; } /** * Get notes. * * @return array */ public function getNotes() { return $this->notes; } /** * Add note. * * @param int $noteId * @param string $noteMark */ public function addNote($noteId, $noteMark): void { $this->notes[$noteId] = $noteMark; } /** * Get generic name for default font for html. */ public function getDefaultGenericFont(): string { return $this->defaultGenericFont; } /** * Set generic name for default font for html. */ public function setDefaultGenericFont(string $value): self { $this->defaultGenericFont = Validate::validateCSSGenericFont($value); return $this; } /** * Get default white space style for html. */ public function getDefaultWhiteSpace(): string { return $this->defaultWhiteSpace; } /** * Set default white space style for html. */ public function setDefaultWhiteSpace(string $value): self { $this->defaultWhiteSpace = Validate::validateCSSWhiteSpace($value); return $this; } /** * Escape string or not depending on setting. */ public function escapeHTML(string $txt): string { if (Settings::isOutputEscapingEnabled()) { return htmlspecialchars($txt, ENT_QUOTES | (defined('ENT_SUBSTITUTE') ? ENT_SUBSTITUTE : 0), 'UTF-8'); } return $txt; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings