石家庄做网站,石家庄网站优化,石家庄网络推广,石家庄网络公司
当前位置:主页 > 新闻资讯 > 建站经验 >

PHP用星号隐藏用户名中间部分

发表日期:2019-12-27 13:54文章编辑:建站教程浏览次数: 标签: 建站教程|php|    

很多时候,由于各种原因,我们在前台显示相关信息的时候并不想全部显示, 这个时候,就需要把中间的部分隐藏。
 
比如:”与狼共舞“。显示结果”与**舞“.
 
但用PHP自带函数进行切割很容易显示部分乱码,影响美观。这个时候,就需要自写函数了。
 
代码如下:
 
function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') 
    if($code == 'UTF-8') 
    { 
        $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; 
        preg_match_all($pa, $string, $t_string);
        if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen));
        return join('', array_slice($t_string[0], $start, $sublen));
    }
    else
    {
        $start = $start*2;
        $sublen = $sublen*2;
        $strlen = strlen($string);
        $tmpstr = '';
        for($i=0; $i< $strlen; $i++)
        {
            if($i>=$start && $i< ($start+$sublen))
            {
                if(ord(substr($string, $i, 1))>129)
                {
                    $tmpstr.= substr($string, $i, 2);
                }
                else
                {
                    $tmpstr.= substr($string, $i, 1);
                }
            }
            if(ord(substr($string, $i, 1))>129) $i++;
        }
        return $tmpstr;
    }
}
使用方法:
 
代码如下:
 
$str = "与狼共舞"; 
echo cut_str($str, 1, 0).'**'.cut_str($str, 1, -1); 
//输出:与**舞

如没特殊注明,文章均来自网络!转载请注明来自:https://www.yousouke.com/News/jzjy/741.html

网站设计案例推荐

热门新闻

「石家庄网站建设」企业建网站如何提高网页打开速度

手机网站建设技巧及推广方法

「不等于符号」sql 不等于符号

服务器返回的http状态码

做好站内优化的重要性有哪些?

phpcms显示验证码出错怎么办?

CSS解决文字与图片不能水平居中对齐的问题

网站运营推广中哪些问题常常会遇到?

相关新闻

织梦dede任意模板调用全站随机文章

dede织梦 {dede:channelartlist}标签栏目序号调用方法

dede织梦"关键字不能小于2个字节"解决办法

dedecms采集过滤规则及替换规则

phpcms文章如何筛选分类?

phpcms显示验证码出错怎么办?

推荐新闻

【seo优化公司】快速提升网站权重的几个方法?

网页加载缓慢怎么办?

网站取消备案和注销备案到底有什么区别?

企业网站建设中有哪几个重要点?

石家庄网站关键词优化之网站词库企业关键词的建立

超链接去掉下划线的几个方法

石家庄SEO:PR值是什么意思?

学校网站建设方案里面主要包含哪些内容呢?

404页面对SEO优化影响有多大?