/** * Add an input to the input filter * * @param array|Traversable|InputInterface|InputFilterInterface $input * @param null|string $name * @param $disablePurifier * @return InputFilter */ public function add($input, $name = null, $disablePurifier = false) { /** * By Default all Inputs will filter against XSS and invalid HTML, attributes and scripts */ $purifier = $this->getHtmlPurifier(); $input->getFilterChain()->attach(function ($value) use($purifier, $disablePurifier) { if ($purifier instanceof HTMLPurifier && !$disablePurifier) { if (is_array($value)) { foreach ($value as $key => $v) { $value[$key] = $purifier->purify($v); } return $value; } else { return $purifier->purify($value); } } return $value; }); return parent::add($input, $name); }