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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP正则表达式部分隐藏电子邮件地址[复制]脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Partially hide email address in PHP                                    12个
我发现了两个主题,它们最初似乎可以回答我的问题,但它们似乎只能让我找到解决方案的一部分.使用它们我已经到了我的位置.所以这不是重复!

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

例如

码:

$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

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP正则表达式部分隐藏电子邮件地址[复制]全部内容,希望文章能够帮你解决使用PHP正则表达式部分隐藏电子邮件地址[复制]所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。