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);
        }
  • 相关阅读:
    Python第一周作业
    turtle库的学习笔记
    绘制五角星
    绘制六角形
    绘制同心圆
    绘制叠加三角形
    Slash And Black Slash/正斜杠和反斜杠
    OpenCv中avi视频的读取问题,以及内部格式要求
    OpenCv和matlab对图像的读取
    个人项目进度
  • 原文地址:https://www.cnblogs.com/sgm4231/p/13299551.html
Copyright © 2011-2022 走看看