AbstractEscaper.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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\Escaper;
  18. /**
  19. * @since 0.13.0
  20. *
  21. * @codeCoverageIgnore
  22. */
  23. abstract class AbstractEscaper implements EscaperInterface
  24. {
  25. /**
  26. * @param string $input
  27. *
  28. * @return string
  29. */
  30. abstract protected function escapeSingleValue($input);
  31. public function escape($input)
  32. {
  33. if (is_array($input)) {
  34. foreach ($input as &$item) {
  35. $item = $this->escapeSingleValue($item);
  36. }
  37. } else {
  38. $input = $this->escapeSingleValue($input);
  39. }
  40. return $input;
  41. }
  42. }