PHP 字符串星号替换


function xmsb_str2safe($str, $start, $length = 0, $key = '*')
{
    // 通过$length的值来判断是否传入mb_substr函数的第三个参数$len
    $param = $length ? [$start, $length] : [$start];

    // 截取出需要替换的字符串
    $rep_str = mb_substr($str, ...$param);

    // 填充替换内容
    strlen($key) == mb_strlen($key) && $key = str_pad('', mb_strlen($rep_str), $key);

    // 获取实际的起始下标
    $start  = strlen(mb_substr($str, 0, $start));
    // 获取实际的替换长度
    $length  = strlen($rep_str);

    // 进行替换
    $result = substr_replace($str, $key, $start, $length);

    return $result;
}

 

posted @ 2022-10-10 10:54  何效名  阅读(96)  评论(0编辑  收藏  举报