src/thinkextend/transform/driver/Base64.php
public static function encode($data, $target = '')
    {
        // 当函数没有特别指定编码目标时, 使用类自身编码目标
        if (empty($target)) {
            $target = self::$target;
        }
        // 进行一次原始编码
        $data = base64_encode($data);
        // 根据编码目标替换字符
        switch ($target) {
            case 'url':
                $data = str_replace(['+', '/', '='], ['-', '_', ''], $data);
                break;
            case 'regex':
                $data = str_replace(['+', '/', '='], ['!', '-', ''], $data);
                break;
            case 'default':
            default:
                break;
        }
        // 返回编码结果
        return $data;
    }
public static function encode($data, $target = '')
    {
        // 当函数没有特别指定编码目标时, 使用类自身编码目标
        if (empty($target)) {
            $target = self::$target;
        }
        // 进行一次原始编码
        $data = base64_encode($data);
        // 根据编码目标替换字符
        switch ($target) {
            case 'url':
                $data = str_replace(['+', '/', '='], ['-', '_', ''], $data);
                break;
            case 'regex':
                $data = str_replace(['+', '/', '='], ['!', '-', ''], $data);
                break;
            case 'default':
            default:
                break;
        }
        // 返回编码结果
        return $data;
    }
public static function encode ( $ data , $ target = '' ) { // 当函数没有特别指定编码目标时, 使用类自身编码目标 if ( empty ( $ target ) ) { $ target = self :: $ target ; } // 进行一次原始编码 $ data = base64_encode ( $ data ) ; // 根据编码目标替换字符 switch ( $ target ) { case 'url' : $ data = str_replace ( [ '+' , '/' , '=' ] , [ '-' , '_' , '' ] , $ data ) ; break ; case 'regex' : $ data = str_replace ( [ '+' , '/' , '=' ] , [ '!' , '-' , '' ] , $ data ) ; break ; case 'default' : default : break ; } // 返回编码结果 return $ data ; }
Base64编码函数

@param string $data   欲编码的数据
@param string $target 编码目标
Base64编码函数