HTML.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * This file is part of PHPWord - A pure PHP library for reading and writing
  4. * word processing documents.
  5. *
  6. * PHPWord is free software distributed under the terms of the GNU Lesser
  7. * General Public License version 3 as published by the Free Software Foundation.
  8. *
  9. * For the full copyright and license information, please read the LICENSE
  10. * file that was distributed with this source code. For the full list of
  11. * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
  12. *
  13. * @see https://github.com/PHPOffice/PHPWord
  14. * @copyright 2010-2018 PHPWord contributors
  15. * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
  16. */
  17. namespace PhpOffice\PhpWord\Reader;
  18. use PhpOffice\PhpWord\PhpWord;
  19. use PhpOffice\PhpWord\Shared\Html as HTMLParser;
  20. /**
  21. * HTML Reader class
  22. *
  23. * @since 0.11.0
  24. */
  25. class HTML extends AbstractReader implements ReaderInterface
  26. {
  27. /**
  28. * Loads PhpWord from file
  29. *
  30. * @param string $docFile
  31. *
  32. * @throws \Exception
  33. *
  34. * @return \PhpOffice\PhpWord\PhpWord
  35. */
  36. public function load($docFile)
  37. {
  38. $phpWord = new PhpWord();
  39. if ($this->canRead($docFile)) {
  40. $section = $phpWord->addSection();
  41. HTMLParser::addHtml($section, file_get_contents($docFile), true);
  42. } else {
  43. throw new \Exception("Cannot read {$docFile}.");
  44. }
  45. return $phpWord;
  46. }
  47. }