zoukankan      html  css  js  c++  java
  • PHP 字符串部分隐藏

    /**
         * 将一个字符串部分字符用$re替代隐藏
         * @param string $string 待处理的字符串
         * @param int $start 规定在字符串的何处开始,
         *                            正数 - 在字符串的指定位置开始
         *                            负数 - 在从字符串结尾的指定位置开始
         *                            0 - 在字符串中的第一个字符处开始
         * @param int $length 可选。规定要隐藏的字符串长度。默认是直到字符串的结尾。
         *                            正数 - 从 start 参数所在的位置隐藏
         *                            负数 - 从字符串末端隐藏
         * @param string $re 替代符
         * @return string   处理后的字符串
         */
        public static function hideStr($string, $start = 0, $length = 0, $re = '*')
        {
            if (empty($string)) return false;
            $strarr = array();
            $mb_strlen = mb_strlen($string);
            while ($mb_strlen) {//循环把字符串变为数组
                $strarr[] = mb_substr($string, 0, 1, 'utf8');
                $string = mb_substr($string, 1, $mb_strlen, 'utf8');
                $mb_strlen = mb_strlen($string);
            }
            $strlen = count($strarr);
            $begin = $start >= 0 ? $start : ($strlen - abs($start));
            $end = $last = $strlen - 1;
            if ($length > 0) {
                $end = $begin + $length - 1;
            } elseif ($length < 0) {
                $end -= abs($length);
            }
            for ($i = $begin; $i <= $end; $i++) {
                $strarr[$i] = $re;
            }
            if ($begin >= $end || $begin >= $last || $end > $last) return false;
            return implode('', $strarr);
        }
  • 相关阅读:
    (转)OpenGL和D3D
    (转)海岸线提取完成, 海浪排岸效果
    (转)perlin噪声函数
    D3D 部分功能测试结论
    (转)学习directx遇到的问题
    D3D Lock Pool
    D3D渲染到纹理
    用Eclipse平台进行c/c++开发
    var读写和function读写,get/set读写效率比较
    flash fps游戏 fps多少为佳
  • 原文地址:https://www.cnblogs.com/sgm4231/p/13299551.html
Copyright © 2011-2022 走看看