×

php后几位用*代替

php后几位用*代替(php可以写后端吗)

admin admin 发表于2023-03-30 03:35:11 浏览63 评论0

抢沙发发表评论

本文目录一览:

php利用正则表达式匹配手机号码并把手机第五到第八位用*号替代输出

?php

$haoma="15012345678";

echo preg_replace("/(\d{4})(\d{3})/","$1***",$haoma);

?

PHP字符替换 ----字符串的前面2个字符和最后一个字符不变,中间的换成***

这个还要封装函数?就一行代码而已。。。。

$idcard=substr_replace($idcard,"*****",8,5);

自己多试验一下,就知道如何使用了。

从第8个后开始替换5个字符为*

php函数 输出一手机号中间五位用星号代替 怎么写啊

网站展示用户隐私数据的时候,需要安全处理。比如:对手机号码中间五位或多位进行*号替换。PHP常用处理的方式有两种,一种是用substr进行截取,然后拼接*号;另一种是使用正则替换。示例代码如下:

//index.php

?php 

header("Content-type:text/html;charset=utf-8;");

//测试

//纯手机号码

$phone="10021012110";

echo phoneSafeDeal($phone);

echo "br/";

$phoneStr="联系方式:10021012110";

echo phoneSafeDeal($phoneStr,true);

/**

 * 手机号码安全处理(中间五位用*代替)

 * 

 * @param String $phone

 * @param boolean $string

 */

function phoneSafeDeal($phone,$flag=false){

    //字符串中包含手机号码替换

    if($flag){

        return preg_replace('/(\d{3})\d{5}(\d{3})/', '${1}*****${2}', $phone);

    }else{

        //纯手机号码处理

        return substr($phone,0,3)."*****".substr($phone,8,3);

    }

}

运行结果:

php 邮箱@前面留2位 其余用*号替换 @后面的全显示出来

/**

 * 只保留字符串首尾字符,隐藏中间用*代替(两个字符时只显示第一个)

 * @param string $user_name 姓名

 * @return string 格式化后的姓名

 */

function substr_cut($user_name){

    $strlen     = mb_strlen($user_name, 'utf-8');

    $firstStr     = mb_substr($user_name, 0, 1, 'utf-8');

    $lastStr     = mb_substr($user_name, -1, 1, 'utf-8');

    return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;-php后几位用*代替

}

PHP 只保留前前两个汉字 其他用*代替 前两个中间可能有别的字符

思路:

获取待处理字符串的字符个数,遍历该字符串,如果是中文则保留(前两个)其他的全部用'*'代替,返回最终结果。

代码:

$str='ni年aho年dd后';//待处理字符串

$ret_zh_count = 0;//

$str_count = strlen($str);//字符个数

if ($str_count0) {

    for($i=0;$i$str_count;$i++){

        $str_i = mb_substr($str,$i,1);//获取字符串中的第$i个字符

        if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str_i)  $ret_zh_count2){//判断是否为汉字且处理了2次

            $ret .= $str_i;

            $ret_zh_count ++;

        }else{

            $ret .= '*';

        }

    }

}

输出:

**年***年***

PHP字符串替换问题,把随机的姓名后面的一个汉字换成一个”*”,两个就是”**”,哪位高人指点一下.在线等~

写了个函数给你,我测试了的

?php

function cut_str($str,$len) {

$j=strlen($str)/2-1;

$m="";

for($i=1;$i=$j;$i++){$m=$m."*";}

$n = 0;

$tempstr = '';

for ($i=0; $i$len; $i++) {

if (ord(substr($str,$n,1)) 224) {

$tempstr .= substr($str,$n,3);

$n += 3;

$i++;

} elseif (ord(substr($str,$n,1)) 192) {

$tempstr .= substr($str,$n,2);

$n += 2;

$i++;

} else {

$tempstr .= substr($str,$n,1);

$n ++;

}

}

return $tempstr.$m;

}

?

?php echo cut_str("卓文君",1); ?

?php echo "br/"; ?

?php echo cut_str("司马相如",1); ?