![]() |
|
Snippets |
|
This is very simple and effective mail helper.
Original code is taken from Smarty's mailto plugin.
This helper scrambles your email addresses so those nasty web bots 'can not' harvest them.
<?php function encode_mail($Address, $Caption=null) { if ($Caption == null) $Caption = $Address; $string = 'document.write(\'<a href="mailto:'.$Address.'">'.$Caption.'</a>\');'; $js_encode = ''; for ($x=0; $x < strlen($string); $x++) $js_encode .= '%' . bin2hex($string[$x]); return '<script type="text/javascript">eval(unescape(\''.$js_encode.'\'))</script>'; } ?>
<?php use_helper('MailEncode') ?> My email: <?php echo encode_mail('info@example.com'); ?> or My email: <?php echo encode_mail('info@example.com', 'Damjan Malis'); ?>
Comments on this snippet
wasn't the symfony's mail_to helper supposed to do the same?
see http://www.symfony-project.com/content/book/page/templating_link_helpers.html
:)
Well, there are thousands of ways to encode an email address. This snippet is one, and
mail_tois another (without javascript). And neither of those are very convincing, if you ask me...Yes, it's true that mail_to helper does the same thing. The reason why I've posted this snippet is that I wasn't aware of mail_to() existance :)
My bad.
No, the
mail_tohelper does not do the same thing. It does not use javascript, whereas this snippet does.mail_toonly "encodes" email addresses using xhtml codes.