anti_email_spam.php
16 years ago
default_encode.php
16 years ago
email_escape.php
16 years ago
hide_email.php
16 years ago
wp_antispambot.php
16 years ago
hide_email.php
33 lines
| 1 | <?php |
| 2 | if ( ! function_exists( 'hide_email' ) ): |
| 3 | |
| 4 | /** |
| 5 | * hide_email is an email encode method |
| 6 | * Credits goes to Maurits van der Schee |
| 7 | * @link http://www.maurits.vdschee.nl/php_hide_email/ |
| 8 | * @package Lim_Email_Encoder |
| 9 | * @param string $email the email to encode |
| 10 | * @param string $display the display showing on the page |
| 11 | * @param string $encode_display also encode the display |
| 12 | * @return string |
| 13 | */ |
| 14 | function hide_email( $email, $display, $encode_display ) { |
| 15 | if ( $encode_display ) |
| 16 | $display = Lim_Email_Encoder::get_htmlent( $display ); |
| 17 | |
| 18 | $character_set = '+-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'; |
| 19 | $key = str_shuffle($character_set); |
| 20 | $cipher_text = ''; |
| 21 | $id = 'e'.rand(1,999999999); |
| 22 | for ($i=0;$i<strlen($email);$i+=1) |
| 23 | $cipher_text.= $key[strpos($character_set,$email[$i])]; |
| 24 | $script = 'var a="'.$key.'";var b=a.split("").sort().join("");var c="'.$cipher_text.'";var d="";'; |
| 25 | $script.= 'for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));'; |
| 26 | $script.= 'document.getElementById("'.$id.'").innerHTML="<a href=\\"mailto:"+d+"\\">'.$display.'</a>"'; |
| 27 | $script = "eval(\"".str_replace(array("\\",'"'),array("\\\\",'\"'), $script)."\")"; |
| 28 | $script = '<script type="text/javascript">/*<![CDATA[*/'.$script.'/*]]>*/</script>'; |
| 29 | return '<span id="'.$id.'">'.$display.'</span>'.$script; |
| 30 | } |
| 31 | |
| 32 | endif; |
| 33 | ?> |