/** * clean * * @param string $text * * @return mixed */ public function clean($text) { if (!$this->type) { return $text; } return static::$filter->clean($text, $this->type); }
/** * Method to test getHandler(). * * @return void * * @covers Windwalker\Filter\InputFilter::getHandler * @TODO Implement testGetHandler(). */ public function testGetAndSetHandler() { // Iron Man $closure = function ($source) { return 'Iron Man'; }; $this->instance->setHandler('armor', $closure); $return = $this->instance->clean('Tony Stark', 'ARMOR'); $this->assertEquals('Iron Man', $return); $handler = $this->instance->getHandler('armor'); $this->assertInstanceOf('Closure', $handler); // Thor $this->instance->setHandler('hammer', new StubThorCleaner()); $return = $this->instance->clean('Thor', 'hammer'); $this->assertEquals('God', $return); $handler = $this->instance->getHandler('hammer'); $this->assertInstanceOf('Windwalker\\Filter\\Cleaner\\CleanerInterface', $handler); }
/** * getByPath * * @param string $paths * @param mixed $default * @param string $filter * * @return array|null */ public function getByPath($paths, $default = null, $filter = InputFilter::CMD) { if (empty($paths)) { return null; } $args = is_array($paths) ? $paths : explode('.', $paths); $dataTmp = $this->data; foreach ($args as $arg) { if (is_object($dataTmp) && !empty($dataTmp->{$arg})) { $dataTmp = $dataTmp->{$arg}; } elseif (is_array($dataTmp) && !empty($dataTmp[$arg])) { $dataTmp = $dataTmp[$arg]; } else { return $default; } } return $this->filter->clean($dataTmp, $filter); }