3 declare(strict_types = 1);
22 use TYPO3\HtmlSanitizer\Builder\BuilderInterface;
23 use TYPO3\HtmlSanitizer\Sanitizer;
24 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
25 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
26 use TYPO3Fluid\Fluid\Core\ViewHelper\Exception;
27 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
60 use CompileWithRenderStatic;
77 $this->registerArgument(
80 'preset name or class-like name of sanitization builder',
93 public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
95 $value = $renderChildrenClosure();
96 $build = $arguments[
'build'] ??
'default';
97 return static::createSanitizer($build)->sanitize($value);
102 if (class_exists($build) && is_a($build, BuilderInterface::class,
true)) {
103 $builder = GeneralUtility::makeInstance($build);
105 $factory = GeneralUtility::makeInstance(SanitizerBuilderFactory::class);
106 $builder = $factory->build($build);
108 return $builder->build();