现在很多垃圾邮件程序会自动采集网上的email地址,然后成为发送垃圾邮件对象,为了避免成为被“攻击”的对象,我们可通过以下函数来转换Emai地址为隐藏链接,也就是把直白的Email地址变成锚文本+mailto链接的形式,有效避免被采集。
<?php function encode_email($email='123456info@qq.com', $linkText='Contact', $attrs ='class="emailencoder"' ) { $email = str_replace('@', '@', $email); $email = str_replace('.', '.', $email); $email = str_split($email, 5); $linkText = str_replace('@', '@', $linkText); $linkText = str_replace('.', '.', $linkText); $linkText = str_split($linkText, 5); $part1 = '<a href="ma'; $part2 = 'ilto:'; $part3 = '" '. $attrs .' >'; $part4 = '</a>'; $encoded = '<script type="text/javascript">'; $encoded .= "document.write('$part1');"; $encoded .= "document.write('$part2');"; foreach($email as $e) { $encoded .= "document.write('$e');"; } $encoded .= "document.write('$part3');"; foreach($linkText as $l) { $encoded .= "document.write('$l');"; } $encoded .= "document.write('$part4');"; $encoded .= '</script>'; return $encoded; } ?>
使用方法挺简便的,也就是在需要显示邮件的时候,调用本函数
echo encode_email();