6 global $obfuscated_email_count;
7 $obfuscated_email_count = 0;
8 $tpl_source = preg_replace_callback(
9 '!<a\s([^>]*)href=["\']mailto:([^"\']+)["\']([^>]*)>(.*?)</a[^>]*>!is',
16 global $obfuscated_email_count;
24 $address = $matches[2];
25 $obfuscated_address = str_replace(array(
".",
"@"), array(
" dot ",
" at "), $address);
26 $extra = trim($matches[1].
" ".$matches[3]);
28 $obfuscated_text = str_replace(array(
".",
"@"), array(
" dot ",
" at "), $text);
30 $string =
"var e; if (e = document.getElementById('obfuscated_email_".$obfuscated_email_count.
"')) e.style.display = 'none';\n";
31 $string .=
"document.write('<a href=\"mailto:".$address.
"\" ".$extra.
">".$text.
"</a>');";
33 for ($x=0; $x < strlen($string); $x++) {
34 $js_encode .=
'%' . bin2hex($string[$x]);
36 $replace =
'<a id="obfuscated_email_'.$obfuscated_email_count.
'" href="mailto:'.$obfuscated_address.
'">'.$obfuscated_text.
'</a><script type="text/javascript" language="javascript">eval(unescape(\''.$js_encode.
'\'))</script>
';
38 ++$obfuscated_email_count;
smarty_outputfilter_obfuscate_email($tpl_source, &$smarty)