/** * {@inheritdocs} */ public function filter($value) { $configArray = $this->getPurifierConfig(); if (empty($configArray)) { return $this->purifier->purify($value); } $purifierConfig = HtmlPurifierConfigFactory::createConfig($configArray); return $this->purifier->purify($value, $purifierConfig); }
public function testAsManyCustomDefinitionsAsDefinitionArgs() { $this->setConfigService(['soflomo_purifier' => ['standalone' => false, 'config' => ['HTML.DefinitionID' => 'custom definitions', 'Cache.DefinitionImpl' => null], 'definitions' => ['HTML' => ['addAttribute' => [['a', 'bar', 'Bool'], ['span', 'bar', 'Bool'], ['div', 'bar', 'Bool']]]]]]); /* @var HTMLPurifier_Config $purifier */ $purifierConfig = $this->factory->__invoke($this->serviceManager); /** @var HTMLPurifier_HTMLDefinition $definition */ $definition = $purifierConfig->getDefinition('HTML'); $this->assertInstanceOf('HTMLPurifier_HTMLDefinition', $definition); $this->assertInstanceOf('HTMLPurifier_ElementDef', $definition->info['a']); $this->assertInstanceOf('HTMLPurifier_AttrDef_HTML_Bool', $definition->info['a']->attr['bar']); $this->assertInstanceOf('HTMLPurifier_ElementDef', $definition->info['span']); $this->assertInstanceOf('HTMLPurifier_AttrDef_HTML_Bool', $definition->info['span']->attr['bar']); $this->assertInstanceOf('HTMLPurifier_ElementDef', $definition->info['div']); $this->assertInstanceOf('HTMLPurifier_AttrDef_HTML_Bool', $definition->info['div']->attr['bar']); }