Version: .9r
Type: Function
Category: HTML
License: GNU General Public License
Description: This little function creates a chunk of javascript based on Tim Williams’ Email Obsfucator Version 2.1
It will do a pretty good job of hiding an e-mail address on a webpage on-the-fly.
<?php /* This php function writes out Tim William's javascript for munging an email address to make it hard for spammer harvestors to read it. The original javascript is at http://www.u.arizona.edu/~trw/spam/ Feeling paranoid, I modified the version at phpbuilder.com to randomize the cipher https://phpbuilder.com/snippet/detail.php?type=snippet&id=927 */ function mungeemail ($address,$linkname) { $cipherorig = "aZbcYXdeWVfUTghSiRQjklPmONnMoLpqKJrIHstGuFvEwDxCyBz1A234568790" ; $cipher = str_shuffle($cipherorig); $cipherlength = strlen($cipher) ; $addresslength = strlen($address) ; $shift = $addresslength ; echo "<script type="text/javascript" language="javascript"> <!-- // eMail Obfuscator Script 2.1 by Tim Williams - freeware { " ; for ($j=0; $j<$addresslength; $j++) { $nextchar = substr($address,$j,1) ; if (strpos($cipher,$nextchar)===false) { $coded .= substr($address,$j,1) ; } else { $chr = (strpos($cipher,$nextchar) + $shift) % $cipherlength ; $coded .= substr($cipher,$chr,1) ; } } echo "coded = "$coded" cipher = "$cipher" shift=coded.length link="" for (i=0; i<coded.length; i++){ if (cipher.indexOf(coded.charAt(i))==-1){ ltr=coded.charAt(i) link+=(ltr) } else { ltr = (cipher.indexOf(coded.charAt(i))-shift+cipher.length) % cipher.length link+=(cipher.charAt(ltr)) } } document.write("<a href='mailto:"+link+"'>$linkname</a>") } //--> </script> <noscript> <p>Sorry, but a Javascript-enabled browser is required to email me.</p> </noscript> " ; } ?>