PHP实现字符每隔两个字符串插入随机字符

随机字符:2ZkZzQsa3NqMixzbGFqMixma2RpOS

PHP主要用于服务器方面的,不像Js那样有灵活的字符串处理函数,但今天项目必须用到PHP来实现这一要求

要求:给随机字符串每相隔两个 插入3个随机字符,如何实现呢?PHP里就str_replace join乱七八糟的,没有js灵活的函数呀,怎么破!求指点迷津! ?

阅读 4.4k
2 个回答

抛个砖头
把字符转换成数组,然后每个数组元素如果是正确的分割数量,就在后面追加随机字符。最后数组转string。

/生成随机字符
function RandomStr($length=1){
// 密码字符集,可任意添加你需要的字符
    $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
    $str = '';
for ( $i = 0; $i < $length; $i++ )
{
// $password .= substr($chars, mt_rand(0, strlen($chars) – 1), 1);
    $str .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $str;
}

function AddStr($str,$step){
    $length=strlen($str);
    if($length<$step){
        return '';
    }
    $arr = str_split($str, $step);
    for($i=0;$i<count($arr);$i++){
        if(strlen($arr[$i])==$step){
            $arr[$i]=$arr[$i].RandomStr($step);
        }
    }
    return implode('',$arr);

}

不好意思哈,解决了 以前没注意 substr_replace函数还有一些其他的参数 ?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题