Advertisement
Guest User

Untitled

a guest
Feb 7th, 2014
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  *   Returns an obfuscated E-Maillink
  3.  *   with an maximum length of the linktext (if you want)
  4.  *
  5.  *   @param mail mailaddress to obfuscate
  6.  *   @param cutTo if > 0 (and bigger then lenght of $postfix), linktext will be shorten to $cutTo chars (including added $postfix)
  7.  *   @param postFix will be added at the end of linktext, if strlen($mail) > $cutTo
  8.  *   @returns something like this:
  9.  *   <a href="javascript:window.location.href = 'mai' + 'lto:' + ['john','smith.'+'com'].join(String.fromCharCode(60 + 2*2))">john<!-- --><span class="tmp_obml">Irgendwas hier</span>&#000064;<!-- -->smith&#000046;<span class="tmp_obml">als auch hier!</span>com</a>
  10.  *  
  11.  *   Don't forget to add
  12.  *       .tmp_obml{display:none;}
  13.  *   to you CSS!
  14.  *
  15.  *   obfuscate_Mail_Link("john.doo.franklin@example.org");
  16.  *   obfuscate_Mail_Link("john.doo.franklin@example.org", 20);
  17.  *   obfuscate_Mail_Link("john.doo.franklin@example.org", 20, '..');
  18.  *  
  19.  */
  20. function obfuscate_Mail_Link($mail, $cutTo = 0, $postFix = '...'){
  21.         $s1 = $s2 = $s3 = $s1_s = $s2_s = $s3_s = '';
  22.         $tmp_array = explode('@',$mail);
  23.         $s1 = $s1_s = $tmp_array[0];                                                    // Name vor dem @
  24.         $tmp_domain_array = count($tmp_array) > 1 ? explode('.',$tmp_array[1]) : array();
  25.         $s3 = $s3_s = (count($tmp_domain_array) > 0 ? array_pop($tmp_domain_array):''); // Topdomain = letztes Element
  26.         $s2 = $s2_s = implode('.',$tmp_domain_array);                                   // Domain ohne Topdomain = Rest
  27.         $at = '&#000064;';
  28.         $dot = '&#000046;';
  29.        
  30.         $pfl = strlen($postFix);
  31.         //kürzen, wenn gefordert
  32.         if($cutTo > $pfl && (strlen($s1_s.$s2_s.$s3_s)) > $cutTo){
  33.             if(strlen($s1_s) > $cutTo){
  34.                 $s1_s = substr($s1_s, 0, $cutTo - $pfl).$postFix;
  35.                 $s2_s = $s3_s = '';
  36.                 $at = '';   // es wurde vor dem @ gekürzt
  37.                 $dot = '';
  38.             }elseif(strlen($s1_s.$s2_s) > $cutTo - $pfl - 1){ // @ kommt dazu
  39.                 $s2_s = substr($s2_s, 0, $cutTo - $pfl - 1 - strlen($s1_s)).$postFix;
  40.                 $s3_s = '';
  41.                 $dot = ''; // Topleveldomain weggekürzt
  42.             }elseif(strlen($s1_s.$s2_s.$s3_s) > $cutTo - $pfl - 2){ // @ und  . kommt dazu
  43.                 $s3_s = substr($s3_s, 0, $cutTo - $pfl - 2 - strlen($s1_s.$s2_s)).$postFix;
  44.                 $dot = '';
  45.             }
  46.         }
  47.         return '<a href="'."javascript:window.location.href = 'mai' + 'lto:' + ['".$s1."','".$s2.".'+'".$s3."'].join(String.fromCharCode(60 + 2*2))".'">'.$s1_s.'<!-- --><span class="tmp_obml">Irgendwas hier</span>'.$at.'<!-- -->'.$s2_s.$dot.'<span class="tmp_obml">und auch hier!</span>'.$s3_s.'</a>';
  48. }
  49. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement