Obfuscate Mail Address
http://pastebin.com/T6CsqiTp
Hier ein Stück Code zum Verstecken von E-Mailadressen auf Webseiten, damit diese von Spambots nicht oder nur schwer ausgelesen werden können.
Die Funktion gibt in etwa so etwas zurück:
Hier ein Stück Code zum Verstecken von E-Mailadressen auf Webseiten, damit diese von Spambots nicht oder nur schwer ausgelesen werden können.
Die Funktion gibt in etwa so etwas zurück:
<a href=\"javascript:window.location.href = 'mai' + 'lto:' + ['john.doo.franklin','example.'+'org'].join(String.fromCharCode(60 + 2*2))\">john.doo.franklin <!-- --><span class=\"tmp_obml\">Irgendwas hier</span> @<!-- -->example. <span class=\"tmp_obml\">und auch hier!</span >org</a>Alternativ kann der Linktext (das was der Wbseitenbesucher zu sehen bekommt) auch auf x-Zeichen gekürzt ausgegeben werden.
<?php
/**
* Returns an obfuscated E-Maillink
* with an maximum length of the linktext (if you want)
*
* @param mail mailaddress to obfuscate
* @param cutTo if > 0 (and bigger then lenght of $postfix), linktext will be shorten to $cutTo chars (including added $postfix)
* @param postFix will be added at the end of linktext, if strlen($mail) > $cutTo
* @returns something like this:
* <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>@<!-- -->smith.<span class="tmp_obml">als auch hier!</span>com</a>
*
* Don't forget to add
* .tmp_obml{display:none;}
* to you CSS!
*
* obfuscate_Mail_Link("john.doo.franklin@example.org");
* obfuscate_Mail_Link("john.doo.franklin@example.org", 20);
* obfuscate_Mail_Link("john.doo.franklin@example.org", 20, '..');
*
*/
function obfuscate_Mail_Link($mail, $cutTo = 0, $postFix = '...'){
$s1 = $s2 = $s3 = $s1_s = $s2_s = $s3_s = '';
$tmp_array = explode('@',$mail);
$s1 = $s1_s = $tmp_array[0]; // Name vor dem @
$tmp_domain_array = count($tmp_array) > 1 ? explode('.',$tmp_array[1]) : array();
$s3 = $s3_s = (count($tmp_domain_array) > 0 ? array_pop($tmp_domain_array):''); // Topdomain = letztes Element
$s2 = $s2_s = implode('.',$tmp_domain_array); // Domain ohne Topdomain = Rest
$at = '@';
$dot = '.';
$pfl = strlen($postFix);
//kürzen, wenn gefordert
if($cutTo > $pfl && (strlen($s1_s.$s2_s.$s3_s)) > $cutTo){
if(strlen($s1_s) > $cutTo){
$s1_s = substr($s1_s, 0, $cutTo - $pfl).$postFix;
$s2_s = $s3_s = '';
$at = ''; // es wurde vor dem @ gekürzt
$dot = '';
}elseif(strlen($s1_s.$s2_s) > $cutTo - $pfl - 1){ // @ kommt dazu
$s2_s = substr($s2_s, 0, $cutTo - $pfl - 1 - strlen($s1_s)).$postFix;
$s3_s = '';
$dot = ''; // Topleveldomain weggekürzt
}elseif(strlen($s1_s.$s2_s.$s3_s) > $cutTo - $pfl - 2){ // @ und . kommt dazu
$s3_s = substr($s3_s, 0, $cutTo - $pfl - 2 - strlen($s1_s.$s2_s)).$postFix;
$dot = '';
}
}
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>';
}
?>
techomatic - 2014-02-07 21:32
