精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

现在很多垃圾邮件程序会自动采集网上的email地址,然后成为发送垃圾邮件对象,为了避免成为被“攻击”的对象,我们可通过以下函数来转换Emai地址为隐藏链接,也就是把直白的Email地址变成锚文本+mailto链接的形式,有效避免被采集。

<?php
function encode_email($email='123456info@qq.com', $linkText='Contact', $attrs ='class="emailencoder"' )
{
    $email = str_replace('@', '&#64;', $email);
    $email = str_replace('.', '&#46;', $email);
    $email = str_split($email, 5); 
    $linkText = str_replace('@', '&#64;', $linkText);
    $linkText = str_replace('.', '&#46;', $linkText);
    $linkText = str_split($linkText, 5); 
    $part1 = '<a href="ma';
    $part2 = 'ilto&#58;';
    $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();
Tags:PHP 电子邮箱