ホームページ  >  記事  >  php教程  >  メールアドレスをブロックするsmartyプラグイン

メールアドレスをブロックするsmartyプラグイン

WBOY
WBOYオリジナル
2016-06-21 08:57:171630ブラウズ

私は仕事で使用しましたが、この種の表示作業はテンプレートクラスに任せる方が適切だと思います。

私は仕事で使っていますが、この手の表示作業はテンプレートクラスに任せた方が適切だと思います。そこで、このようなプラグインを書きました。

/**
 * Smarty プラグイン
 * @package Smarty
 * @サブパッケージプラグイン
 */

/**
 * Smarty email_mask 修飾子プラグイン
 *
 * タイプ: 修飾子

 * 名前: email_mask
 * 目的: メールの一部をマスク
 * 入力:

 * - 文字列: 入力メールアドレス
 * - パーツ: マスクパーツ [デフォルト '60'] 単位: パーセント
 * - 位置: マスク位置 [デフォルト 'center'] (左、中央、右)
 * - MaskString: マスク文字列 [デフォルト '*']
 *
 * @author wendaming
 * @パラメータ文字列
 * @param 整数
 * @パラメータ文字列
 * @パラメータ文字列
 * @return stringvoid
 */

関数 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);
}



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。