如何在smarty模板上实现隐藏邮箱中间字符串?最好用正则regex_replace! 10

比如123456@qq.com显示的时候是12**56@qq.com;123456789@126.com显示的时候是12*****89@126.com;保持原邮箱长度不变... 比如123456@qq.com显示的时候是12**56 @ qq. com;123456789 @ 126.com显示的时候是12*****89 @ 126.com;保持原邮箱长度不变的前提下,把中间的给隐藏掉!谢谢!由于百度知道审核机制,邮箱格式我加了空格!其实是没有的! 展开
 我来答
weaselpp
2013-06-20 · TA获得超过612个赞
知道小有建树答主
回答量:381
采纳率:33%
帮助的人:332万
展开全部
查找的表达式
\b([A-Za-z0-9._%+-]{2})([A-Za-z0-9._%+-]+)([A-Za-z0-9._%+-]{2})(@[A-Za-z0-9.-]+\.[A-Za-z]{2,6})\b
替换的表达式,如果\1不行,换成$1试试
\1***\3\4
中间的*号动态的变正则好像弄不了,你能不能把\2的字符串取出来,判断长度,生成多个*号呢?
而且这个邮箱表达式只能匹配前面长度大于等于5的邮箱,假如小于等于4怎么办?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hdreamfly
2013-06-20 · TA获得超过107个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:111万
展开全部
分配变量的时候就处理一下了
更多追问追答
追问
怎么个处理法?
追答
substr_replace('变量',‘替换值’,开始位置,长度)

你试下这个函数 反正方法很多了,你在变量分配前进行处理也行,其实也可以自定义标签函数或块函数在模板中进行处理也行的了 !!!!

事情多,忙不过来,就不亲身体验了哈!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式