/** * 应用过滤器并返回过滤后的结果. * 用法: * Singleton->getInstance('FilterModule')->applyFilter('trim', ' abc '); * //返回'abc' * * Singleton->getInstance('FilterModule')->applyFilter('trim', array(' abc ', 'abc ')); * //返回array('abc', 'abc') * * 支持静态方法 * Singleton->getInstance('FilterModule')->applyFilter('YourClass::yourMethod', ' abc '); * * @access public * @param string $filter 过滤器名称 * @param mixed $data 要处理的数据 * @return mixed 处理后的数据 */ public function applyFilter($data, $filter) { if (!$filter) { return $data; } if (is_array($data)) { foreach ($data as $key => &$v) { $v = $this->applyFilter($v, $filter); } } return call_user_func_array(Basic::resolveCallback($filter, __CLASS__), $data); }