Maison >développement back-end >Problème PHP >Comment remplacer les chaînes intermédiaires en php

Comment remplacer les chaînes intermédiaires en php

藏色散人
藏色散人original
2021-05-19 09:52:502877parcourir

Comment remplacer la chaîne du milieu en PHP : créez d'abord un exemple de fichier PHP ; puis remplacez la chaîne du milieu via la méthode "public function encodeStr($str){...}".

Comment remplacer les chaînes intermédiaires en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Il y a un astérisque dans au milieu de la chaîne de remplacement php

Cela implique trois fonctions de traitement de chaîne

substr_replace

Remplacer une partie de la chaîne par une autre chaîne

substr_replace(string,replacement,start,length)
// string必需。规定要检查的字符串。
// replacement必需。规定要插入的字符串。
// start必需。规定在字符串的何处开始替换。
// 正数 - 在字符串中的指定位置开始替换
// 负数 - 在从字符串结尾的指定位置开始替换
// 0 - 在字符串中的第一个字符处开始替换
// length可选。规定要替换多少个字符。默认是与字符串长度相同。
// 正数 - 被替换的字符串长度
// 负数 - 表示待替换的子字符串结尾处距离 string 末端的字符个数。
// 0 - 在字符串中的第一个字符处开始替换
str_repeat

Spécifiez la chaîne à plusieurs reprises Le nombre de fois

mb_strlen

renvoie la longueur de la chaîne. Différent de strlen, il peut renvoyer le nombre de caractères correspondant en définissant l'encodage des caractères, ce qui résout bien le problème de la longueur des chaînes chinoises

mb_substr

Renvoie une partie de la chaîne, similaire à la fonction substr(). Elle cible uniquement les caractères anglais. Si vous souhaitez diviser les caractères chinois, vous devez utiliser mb_substr()

/**
  * 加密字符串
  * addtime 2020年8月18日 14:16:44
  * @param [type] $str 待加密的字符串
  * @return void
  */
public function encodeStr($str)
{
    # 判断字符串长度
    $length = strlen($str);
    if ($length == 1) {
        # 长度为 1 前后拼接 * 号
        $newStr = $str.'*'.rand(1,6);
    }else{
            # 长度超过1随机插入 * 号
            $newStr = substr_replace($str,str_repeat('*',$length/2),ceil($length/2),$length).mb_substr($str,$length-2,$length,"utf-8");
            // str_repeat('*',$length/2)  星号重复字符长度的一半长度
            // ceil($length/2) 算出从第几个字符开始
    }
    return $newStr;
}

Apprentissage recommandé. : "

Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn