There are many methods to quickly obscure an email address from spam harvesters, this approach relies on the fact that most email harvesters won’t understand JavaScript.

/**
 * Obfuscate an email address
 *
 * @author      Aidan Lister <aidan@php.net>
 * @version     1.1.0
 * @link        http://aidanlister.com/repos/v/function.mail_obfuscate.php
 * @param       string      $email      E-mail
 * @param       string      $text       Text
 */
function mail_obfuscate($email, $text = '')
{
    // Default text
    if (empty($text)) {
		$text = $email;
    }

    // Create string
    $string = sprintf('document.write(\'%s\');',
            htmlspecialchars($email),
            htmlspecialchars($text));

    // Encode
    for ($encode = '', $i = 0; $i < strlen($string); $i++) {
        $encode .= '%' . bin2hex($string[$i]);
    }

    // Javascript
    $javascript = '';

    return $javascript;
}

A quick example:

echo mail_obfuscate('aidan@php.net');

Would result in:


As you can see, the output no longer remotely resembles an email address and is very unlikely to get picked up by a spam harvester.