zoukankan      html  css  js  c++  java
  • 字符串操作类

    class StringHelper{
        
        /**
         * iconv转换编码 
         *
         * @param    string $inCharset 原编码
         * @param    string $outCharset 目标编码
         * @param    mixed string or array $data 要转换编码的字符串或者数组
         * @param    bool $ignoreError 是否忽略错误
         * @return    mixed string or array
         */
        public static function iconv($inCharset, $outCharset, $data, $ignoreError = TRUE)
        {
            if (is_array($data))
            {
                foreach ($data as $key => $val)
                {
                    $data[$key] = self::iconv($inCharset, $outCharset, $val, $ignoreError);
                }
            }
            else
            {
                if (function_exists('iconv'))
                {
                    $data = $ignoreError ? @iconv($inCharset, $outCharset, $data) : iconv($inCharset, $outCharset, $data);
                }
                else if (function_exists('mb_convert_encoding'))
                {
                    $data = $ignoreError ? @mb_convert_encoding($data, $outCharset, $inCharset) : mb_convert_encoding($data, $outCharset, $inCharset);
                }
            }
            return $data;
        }
        
        /**
         * Strip Slashes
         *
         * 删除字符串或者数组中由addslashes() 函数添加的反斜杠
         *
         * @param    mixed    string or array
         * @return    mixed    string or array
         */
        public static function stripSlashes($str)
        {
            if (is_array($str))
            {
                foreach ($str as $key => $val)
                {
                    $str[$key] = self::stripSlashes($val);
                }
            }
            else
            {
                $str = stripslashes($str);
            }
            return $str;
        }
        
        /**
         * Quotes to Entities
         *
         * 将单引号或者双引号转为实体
         *
         * @param    string $str 要转换的字符串
         * @return    string
         */
        public static function quotesToEntities($str)
        {
            return str_replace(array("\'","\"","'",'"'), array("'",""","'","""), $str);
        }
        
        /**
         * Create a Random String
         *
         * 生成一个随机字符串
         *
         * @param    string    $type 随机字符串类型.  basic, alpha, alunum, numeric, nozero, unique, md5
         * @param    integer    $len 随机字符长度
         * @return    string
         */
        public static function randomString($type = 'alnum', $len = 8)
        {
            switch($type)
            {
                case 'basic'    : 
                    return mt_rand();
                    break;
                case 'alnum'    :
                case 'numeric'    :
                case 'nozero'    :
                case 'alpha'    :
                    switch ($type)
                    {
                        case 'alpha'    :    
                            $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                            break;
                        case 'alnum'    :    
                            $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                            break;
                        case 'numeric'    :    
                            $pool = '0123456789';
                            break;
                        case 'nozero'    :    
                            $pool = '123456789';
                            break;
                    }
                    $str = '';
                    for ($i=0; $i < $len; $i++)
                    {
                        $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
                    }
                    return $str;
                    break;
                case 'unique'    :
                case 'md5'        :
                    return md5(uniqid(mt_rand()));
                    break;
            }
        }
    
        /**
         * 字符串截取,按字节截取
         *
         * @param string $str
         * @param intval length
         * @param string $flow
         * @param string $charset
         *
         * @return string
         */
        public static function cut($str, $length, $flow = '...', $charset = 'UTF-8')
        {
            $length = intval($length);
            $end = strlen($str) > $length ? $flow : '';
            return mb_strcut($str, 0, $length, $charset) . $end;
        }
        
        /**
         * 转换10进制整数为相应进制的结果
         *
         * @param intval $num
         * @param intval $bin
         * @return string
         */
        public static function dectoBin($num, $bin = 10)
        {
            static $arr = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
        
            if ($bin == 10)
            {
                return $num;
            }
            $bytelen = ceil(16 / $bin); //获得如果是$bin进制,一个字节的长度
            $t = '';
            $num = intval($num);
        
            if ($num <= 0)
            {
                return 0;
            }
            while ($num > 0)
            {
                $t = $arr[$num % $bin] . $t;
                $num = floor($num / $bin);
            }
            $tlen = strlen($t);
            if ($tlen % $bytelen != 0)
            {
                $pad_len = $bytelen - $tlen % $bytelen;
                $t = str_pad('', $pad_len, '0', STR_PAD_LEFT) . $t; //不足一个字节长度,自动前面补充0
            }
            return $t;
        }
    }
  • 相关阅读:
    CentOS如何挂载U盘(待更新)
    CentOS6.8启动Tomcat无法访问
    CentOS7安装后连不上网络无法使用yum
    Android Studio 3.0找不到Android Device Monitor
    初识 ‘测试左移 测试右移’
    利用coverage工具进行Python代码覆盖率测试
    Charles抓包过滤的四种方式
    postman中添加cookie信息
    初始Activity启动模式
    MySQL数据库报错:Too many connection
  • 原文地址:https://www.cnblogs.com/lytian/p/3169936.html
Copyright © 2011-2022 走看看