Weil die meisten Spam-Crawler kein Javascript ausführen, wenn sie nach E-Mail Adressen suchen, ist es sinnvoll diese per JS zu schützen. Der Code macht nichts anderes, als eine E-Mail Adresse zu bekommen, sie als Base64 zu “verschlüsseln” und im Frontend per JS wieder zu entschlüsseln.
Die E-Mail Adresse wird dann an die Stelle geschrieben, wo der Script Block eingefügt wird.
<?php /** * Die meisten Spam-Crawler welche E-Mail Adressen suchen führen kein * Javascript aus. Mit diesem bisschen Code bleibt die Adresse vor den * meisten Crawlern damit versteckt. * * @param string $email_adress [description] * @return string [description] */ function get_html_spam_protected_email( $email_adress_string ){ $encoded_email_adress = base64_encode( $email_adress_string ); return " <script type=\"text/javascript\"> let eml_b64 = \"{$encoded_email_adress}\"; let eml_utf8 = window.atob( eml_b64 ); let link_html = '<a href=\"mailto:'+eml_utf8+'\" target=\"_blank\">'+eml_utf8+'</a>'; document.write( link_html ); </script> "; }