通达OA用户名实现特别生成输出拼音的方法(别问我为什么要怎么做)

3,026次阅读
没有评论

共计 869 个字符,预计需要花费 3 分钟才能阅读完成。

昨天在 OA 交流群里面一哥们问我,通达 OA 这个效果( 如图所示 )是怎么实现的?

通达 OA 用户名实现特别生成输出拼音的方法(别问我为什么要怎么做)

现分享一下实现方法,如下代码(自己在 OA 目录下去调用 mb.php 哦):

<?
function getChnprefix($s,$ssize="")
{
    global $mb;
    include_once('inc/mb.php');

    $size=0;
    $name_prefix="";
    while($size < strlen($s))
    {
        $idx = "";
        $name_prefix_chn=="";
        if(ord($s[$size])>=128)
        {$name_prefix_chn=substr($s,$size,2);
            reset($mb);
            foreach($mb as $key => $t)
            {if(strpos($t,$name_prefix_chn))
                {$idx=strtolower($key);
                    $name_prefix .= $idx;
                }
            }
            $name_prefix.="*";
            $size+=2;
            continue;
        }
        else{$idx=$s[$size];
            $name_prefix .= $idx."*";
            $size+=1;
            continue;
        }
    }

    $name_prefix = preg_replace("/\s/", "", $name_prefix);
    if($ssize!="") {$rs = array();
        $rs['size'] = $size;
        $rs['name_prefix'] = $name_prefix;
        return $rs;
    }
    return $name_prefix;
}
$USER_NAME1 = "系统管理员";
$USER_NAME2 = "莽小哥";
$USER_NAME_INDEX1 = getChnprefix($USER_NAME1);
$USER_NAME_INDEX2 = getChnprefix($USER_NAME2);
echo $USER_NAME1.":".$USER_NAME_INDEX1."<br>";
echo $USER_NAME2.":".$USER_NAME_INDEX2;
?>

 

输出如下效果:

通达 OA 用户名实现特别生成输出拼音的方法(别问我为什么要怎么做)

打赏小哥

通达 OA 用户名实现特别生成输出拼音的方法(别问我为什么要怎么做) 微信打赏 通达 OA 用户名实现特别生成输出拼音的方法(别问我为什么要怎么做) 支付宝打赏

正文完
 0
评论(没有评论)