屏蔽Email地址的smarty插件
作中用到的,觉得这样的显示工作,还是交给模板类比较合适。
工作中用到的,觉得这样的显示工作,还是交给模板类比较合适。所以写了这样的一个插件。
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty email_mask modifier plugin
*
* Type: modifier
* Name: email_mask
* Purpose: mask part of email
* Input:
* - string: input email
* - part: mask part [default '60'] unit: percent
* - position: mask position [default 'center'] (left, center, right)
* - maskString: mask string [default '*']
*
* @author wendaming
* @param string
* @param integer
* @param string
* @param string
* @return stringvoid
*/
function smarty_modifier_email_mask($string, $maskPart = 60, $position = 'center', $maskString = '*') {
$emailName = substr($string, 0, strpos($string, '@'));
$emailLen = strlen($emailName);
$maskNum = floor($emailLen * $maskPart / 100);
$maskName = '';
if ($position == 'center') {
$beginMask = floor(($emailLen - $maskNum) / 2);
} elseif ($position == 'left') {
$beginMask = 0;
} else {
$beginMask = $emailLen - $maskNum;
}
$count = 0;
for ($i = 0; $i
if ($i >= $beginMask && $count
$maskName .= $maskString;
++ $count;
} else {
$maskName .= $emailName{$i};
}
}
return str_replace($emailName . '@', $maskName . '@', $string);
}
下一篇: 有关网页中的flash有关问题
推荐阅读
-
在windows下使用淘宝的nginx插件 nginx_concat_module (附下载地址)
-
C#实现将Email地址转成图片显示的方法
-
在windows下使用淘宝的nginx插件 nginx_concat_module (附下载地址)
-
python中django框架通过正则搜索页面上email地址的方法
-
最严谨的校验email地址的正则表达式及各种语言对应版
-
判断Email地址是否正确的几个函数(asp/php/javascript)
-
jquery使用正则表达式验证email地址的方法教程
-
JavaScript email邮箱/邮件地址的正则表达式及分析
-
C#实现将Email地址转成图片显示的方法
-
正则表达式检测用户输入的email地址是否合法