vendor/netgen/layouts-core/lib/Utils/HtmlPurifier.php line 18

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Netgen\Layouts\Utils;
  4. use HTMLPurifier as BaseHTMLPurifier;
  5. use HTMLPurifier_Config;
  6. use HTMLPurifier_HTML5Config;
  7. /**
  8. * Filter used to remove all unsafe HTML from the provided value.
  9. */
  10. final class HtmlPurifier
  11. {
  12. private BaseHTMLPurifier $purifier;
  13. public function __construct(?HTMLPurifier_Config $config = null)
  14. {
  15. if ($config === null) {
  16. $config = HTMLPurifier_HTML5Config::create(['Cache.DefinitionImpl' => null]);
  17. $config->set('Attr.AllowedFrameTargets', ['_blank']);
  18. }
  19. $this->purifier = new BaseHTMLPurifier($config);
  20. }
  21. public function purify(string $value): string
  22. {
  23. return $this->purifier->purify($value);
  24. }
  25. }