Maison >développement back-end >Problème PHP >Comment masquer une partie de la boîte aux lettres avec une expression régulière php

Comment masquer une partie de la boîte aux lettres avec une expression régulière php

藏色散人
藏色散人original
2021-06-03 09:36:472617parcourir

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

Comment masquer une partie de la boîte aux lettres avec une expression régulière 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视频教程

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