首页 >后端开发 >PHP问题 >php正则怎么隐藏部分邮箱

php正则怎么隐藏部分邮箱

藏色散人
藏色散人原创
2021-06-03 09:36:472607浏览

php正则隐藏部分邮箱的方法:首先创建一个PHP示例文件;然后通过正则表达式“preg_replace('/([\d\w+_-]{0,100})@/', '***@', $str, -1, $count);”隐藏部分邮箱即可。

php正则怎么隐藏部分邮箱

本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

php正则怎么隐藏部分邮箱?

PHP使用星号替代用户名手机和邮箱这个在许多的活动界面会看到如淘宝的购物界面中的一些客户的支付宝号都是隐藏掉的哦,下面我们来看一下它的使用方法吧.

<?php
 //用户名、邮箱、手机账号中间字符串以*隐藏
function hideStr($str) {
  if (strpos($str, &#39;@&#39;)) {
    $email_array = explode("@", $str);
    //邮箱前缀
    $prevfix = (strlen($email_array[0]) < 4) ? "" : substr($str, 0, 3); 
    $count = 0;
    $str = preg_replace(&#39;/([\d\w+_-]{0,100})@/&#39;, &#39;***@&#39;, $str, -1, $count);
    $rs = $prevfix . $str;
  } else {
    //正则手机号
    $pattern = &#39;/(1[3458]{1}[0-9])[0-9]{4}([0-9]{4})/i&#39;;
    if (preg_match($pattern, $str)) {
      $rs = preg_replace($pattern, &#39;$1****$2&#39;, $str); // substr_replace($name,&#39;****&#39;,3,4);
    } else {
      $rs = substr($str, 0, 3) . "***" . substr($str, -1);
    }
  }
  return $rs;
}
?>
<?php
$account = "baidu.com";
$email = "123456@qq.com";
$phone = "15999888888";
?>

推荐学习:《PHP视频教程

以上是php正则怎么隐藏部分邮箱的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn