\TYPO3\CMS\Core\Html\DefaultSanitizerBuilder::class, * 'custom' => \Vendor\Package\CustomBuilder::class, * ]; * ``` * * @internal */ final readonly class SanitizerBuilderFactory { public function build(string $identifier): BuilderInterface { if (empty($GLOBALS['TYPO3_CONF_VARS']['SYS']['htmlSanitizer'][$identifier])) { throw new \LogicException(sprintf('Undefined `htmlSanitizer` identifier `%s`', $identifier), 1624876139); } $builder = GeneralUtility::makeInstance($GLOBALS['TYPO3_CONF_VARS']['SYS']['htmlSanitizer'][$identifier]); if (!$builder instanceof BuilderInterface) { throw new \LogicException( sprintf('Builder `%s` must implement interface `%s`', get_class($builder), BuilderInterface::class), 1624876266 ); } return $builder; } }