Maison  >  Article  >  développement back-end  >  Comment masquer du contenu en php

Comment masquer du contenu en php

藏色散人
藏色散人original
2022-01-27 09:33:212951parcourir

Comment masquer une partie du contenu en php : 1. Créez un exemple de fichier PHP ; 2. Utilisez "function hidestr($string, $start = 0, $length = 0, $re = '*') {.. .}" Utilisez simplement la méthode pour le masquer.

Comment masquer du contenu en php

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

php Comment masquer une partie du contenu ?

Fonction PHP pour masquer certaines chaînes (telles que le nom, le nom d'utilisateur, la carte d'identité, l'adresse IP, le numéro de téléphone portable, etc.)

L'utilisation de cette fonction est presque la même que celle de la fonction intégrée PHP substr(). C'est juste que substr() est utilisé pour l'interception, tandis que hidestr() sert à se cacher~

/**
 * 将一个字符串部分字符用$re替代隐藏
 * @param string    $string   待处理的字符串
 * @param int       $start    规定在字符串的何处开始,
 *                            正数 - 在字符串的指定位置开始
 *                            负数 - 在从字符串结尾的指定位置开始
 *                            0 - 在字符串中的第一个字符处开始
 * @param int       $length   可选。规定要隐藏的字符串长度。默认是直到字符串的结尾。
 *                            正数 - 从 start 参数所在的位置隐藏
 *                            负数 - 从字符串末端隐藏
 * @param string    $re       替代符
 * @return string   处理后的字符串
 */
function hidestr($string, $start = 0, $length = 0, $re = '*') {
    if (empty($string)) return false;
    $strarr = array();
    $mb_strlen = mb_strlen($string);
    while ($mb_strlen) {//循环把字符串变为数组
        $strarr[] = mb_substr($string, 0, 1, 'utf8');
        $string = mb_substr($string, 1, $mb_strlen, 'utf8');
        $mb_strlen = mb_strlen($string);
    }
    $strlen = count($strarr);
    $begin  = $start >= 0 ? $start : ($strlen - abs($start));
    $end    = $last   = $strlen - 1;
    if ($length > 0) {
        $end  = $begin + $length - 1;
    } elseif ($length < 0) {
        $end -= abs($length);
    }
    for ($i=$begin; $i<=$end; $i++) {
        $strarr[$i] = $re;
    }
    if ($begin >= $end || $begin >= $last || $end > $last) return false;
    return implode(&#39;&#39;, $strarr);
}
//隐藏手机号中间4位
hidestr(&#39;18600005940&#39;, 3, 4); //186****5940
//只保留姓名里的最后一个字,常见与ATM,网银等
hidestr(&#39;谢世亮&#39;, 0, -1); //**亮
//隐藏邮箱部分内容,常见网站帐号,如支付宝等
list($name, $domain) = explode(&#39;@&#39;, &#39;979137@qq.com&#39;);
hidestr($name, 1, -1) . &#39;@&#39; . hidestr($domain, 0, 2); // 9****7@**.com

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