在类中使用array_map()简单的递归过滤一些字符

class BaseApp

{

    /**
     * 递归过滤一些字符(or/and/'/"/空格)
     *
     * @author    gl
     * Last Modify:    2012.04.19
     */
    function filter($yaotihuande)
    {
        if (empty($yaotihuande))        //为空则返回
        {
            return $yaotihuande;
        }
        
        if (is_array($yaotihuande))
        {
            $shuzhu = array_map(array("BaseApp","tihuan"), $yaotihuande);
            return $shuzhu;
        }
        else
        {
            $zifuchuan = $this->tihuan($yaotihuande);
            return $zifuchuan;
        }
    }
    
    /**
     * 执行过滤操作;此函数仅供上面filter()使用
     *
     * @author    gl
     * Last Modify:    2012.04.19
     */
    function tihuan($tihuan)
    {
        $search = array (
                "'\bor\b'i",                //去or
                "'\band\b'i",                //去and
                "'\s'",                        //去空白符
                "'\''e",                    //去单引号
                "'\"'e",                    //去双引号

        );
        $replace = array (
                '',
                '',
                '',
                '',
                '',
        );
        $tihuan = preg_replace($search, $replace, $tihuan);
        return $tihuan;
    }

}
注: $yaotihuande可以使字符串、多维数组。

你可能感兴趣的:(php)