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
email_escape.php
31 lines
| 1 | <?php |
| 2 | if ( ! function_exists( 'email_escape' ) ): |
| 3 | |
| 4 | /** |
| 5 | * Email encode method uses javascript eval() and unescape() |
| 6 | * Taken from the plugin "Email Spam Protection" (v1.2) |
| 7 | * Credits goes to Adam Hunter |
| 8 | * @link http://blueberryware.net/2008/09/14/email-spam-protection/ |
| 9 | * @package Lim_Email_Encoder |
| 10 | * @param string $email the email to encode |
| 11 | * @param string $display the display showing on the page |
| 12 | * @param string $encode_display also encode the display |
| 13 | * @return string |
| 14 | */ |
| 15 | function email_escape( $email, $display, $encode_display ) { |
| 16 | $string = 'document.write(\'<a href="mailto:' . $email . '">' . $display . '</a>\')'; |
| 17 | /* break string into array of characters, we can't use string_split because its php5 only :( */ |
| 18 | $split = preg_split('||', $string); |
| 19 | $out = '<script type="text/javascript">/*<![CDATA[*/ ' . "eval(unescape('"; |
| 20 | foreach ( $split as $c ) { |
| 21 | /* preg split will return empty first and last characters, check for them and ignore */ |
| 22 | if ( !empty($c) ) { |
| 23 | $out .= '%' . dechex(ord($c)); |
| 24 | } |
| 25 | } |
| 26 | $out .= "'))" . '/*]]>*/</script>'; |
| 27 | return $out; |
| 28 | } |
| 29 | |
| 30 | endif; |
| 31 | ?> |