分享一个将字符串中间段替换为*号的函数

header('Content-type:text/html;charset=utf-8');
function cutstr($str)
{
    #计算$str的字符个数
    preg_match_all("/./u", $str, $len);
    $strlen = (int) count($len[0]);
    
    #计算中间位置开始转*
    $start = ceil($strlen / 2);
    $start = ceil($start / 2);
    
    #计算结束的字符长度
    $forlen = $strlen - $start;
    
    $string = '';
    #将字符串里面的字分割成一个数组
    for($i=0; $i < $strlen; $i ++)
    {
        if( $i <= $start || $i >= $forlen )
        {
            $string .= $len[0][$i];
        }
        else
        {
            $string .= '*';
        }
    }
    return $string;
}

 

$str = '542928955@qq.com';

echo cutstr( $str ); exit;

 

posted @ 2014-09-18 11:40  lovefuwei  阅读(902)  评论(0编辑  收藏  举报