加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP正则表达式部分隐藏电子邮件地址[复制]

发布时间:2020-12-13 16:56:29 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Partially hide email address in PHP????????????????????????????????????12个 我发现了两个主题,它们最初似乎可以回答我的问题,但它们似乎只能让我找到解决方案的一部分.使用它们我已经到了我的位置.所以这不是重复! 我想用星号替换电子邮
参见英文答案 > Partially hide email address in PHP????????????????????????????????????12个
我发现了两个主题,它们最初似乎可以回答我的问题,但它们似乎只能让我找到解决方案的一部分.使用它们我已经到了我的位置.所以这不是重复!

我想用星号替换电子邮件地址的名称部分和域部分中除第一个字符外的所有字符:

例如

g******@g****.com or g******@g****.co.uk

码:

$email2 = preg_replace('/(?<=.).(?=.*@)/','*',$email);
$email3 = preg_replace('/(?<=@.)[a-zA-Z0-9-]*(?=(?:[.]|$))/',$email2);

几乎在那里,但给了我g******@g*.com而不是g******@g*****.com

有人可以帮我正则表达式吗?

解决方法

您可以使用:

$email = preg_replace('/(?:^|@).K|.[^@]*$(*SKIP)(*F)|.(?=.*?.)/',$email);

RegEx Demo

这将把great@gmail.com变成g*****@g*****.com和

myemail@gmail.co.uk将成为m*******@g*****.co.uk

和test.test@gmail.com进入t*********@g*****.com

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读