<?php
// SPAM-PROTECTED MAILTO LINKS WITH HTMLENTITIES & URL-ENCODED CHARACTERS v2.0 - To, CC, BCC, Subject
// HTML-EXAMPLE: http://j...content-available-to-author-only...e.net/krabat1/2v8ef5jc/
// http://c...content-available-to-author-only...n.io/krabat1/pen/zgswr
function spamsafe( $email , $text = NULL , $cc = NULL , $bcc = NULL , $subj = NULL , $body = NULL ) {
echo ( 'not valid' ) ;
return false ;
} else {
$pattern = "/([!#$%&'*+\/=?^_`{|}~\-@\.])/" ;
// email
if ( $matches = preg_split ( $pattern , $email , NULL , PREG_SPLIT_DELIM_CAPTURE
) ) { $str1 = '' ;
$str2 = '' ;
foreach ( $matches as $element ) {
$m2 = preg_split ( "//" , $element , - 1 , PREG_SPLIT_NO_EMPTY
) ; foreach ( $m2 as $m3 ) {
$str2 .= '&#' . ord ( $m3 ) . ';' ; }
$str1 .= '&#' . ord ( $element ) . ';' ; $str2 .= '&#' . ord ( $element ) . ';' ; }
}
// elements
$elements = array ( 'mailto' , ':' , '?' , '&' , '=' , 'cc' , 'bcc' , 'subject' , 'body' ) ; foreach ( $elements as $e ) {
$e = preg_split ( "//" , $e , - 1 , PREG_SPLIT_NO_EMPTY
) ; $e_r = '' ;
foreach ( $e as $e2 ) {
//if( preg_match("/([a-z0-9])/",$e2) ){
// $e_r.='%'.strtoupper(dechex(ord($e2)));
//}else{
//}
}
}
$mailto_str = $elements_r [ 0 ] ;
$colon_str = $elements_r [ 1 ] ;
$question_str = $elements_r [ 2 ] ;
$amper_str = $elements_r [ 3 ] ;
$equals_str = $elements_r [ 4 ] ;
$cc_str = $elements_r [ 5 ] ;
$bcc_str = $elements_r [ 6 ] ;
$subject_str = $elements_r [ 7 ] ;
$body_str = $elements_r [ 8 ] ;
//texts
$texts = array ( 'text' => $text , 'cc' => $cc , 'bcc' => $bcc , 'subj' => $subj , 'body' => $body ) ; foreach ( $texts as $tk => $tv ) {
$tv2 = preg_split ( "//" , $tv , - 1 , PREG_SPLIT_NO_EMPTY
) ; $str = '' ;
if ( $tk == 'cc' ) {
$str .= $cc_str . $equals_str ;
} else if ( $tk == 'bcc' ) {
$str .= $bcc_str . $equals_str ;
} else if ( $tk == 'subj' ) {
$str .= $subject_str . $equals_str ;
} else if ( $tk == 'body' ) {
$str .= $body_str . $equals_str ;
}
foreach ( $tv2 as $tv3 ) {
//$str.='%'.strtoupper(dechex(ord($tv3)));
$str .= '&#' . ord ( $tv3 ) . ';' ; }
$texts_r [ $tk ] = $str ;
}
}
//$texts_rk=array_keys($texts_r);
if ( isset ( $texts_r [ 'text' ] ) ) { $text0 = $texts_r [ 'text' ] ;
}
//start final string
$final = '<a href="' . $mailto_str . $colon_str . $str1 ;
if ( count ( $texts_rv ) > 0 ) { $final .= $question_str . implode ( $amper_str , $texts_rv ) ; }
$texts_r = array ( 'text' => $text0 ) ; }
$final .= '">' ;
$final .= $str2 ;
} else {
$final .= $texts_r [ 'text' ] ;
}
$final .= '</a>' ;
return $final ;
}
}
}
}
echo ( spamsafe( 'recipient@domain.com' ) . '
<br/>' ) ;
echo ( spamsafe( 'recipient@domain.com' , 'Email Us!' ) . '
<br/>' ) ;
echo ( spamsafe( 'recipient@domain.com' , 'Email Us!' , 'other@domain.com' ) . '
<br/>' ) ;
echo ( spamsafe( 'recipient@domain.com' , 'Email Us!' , 'other@domain.com' , NULL , 'Enquiry regarding product #0022' ) . '
<br/>' ) ;
echo ( spamsafe( 'recipient@domain.com' , 'Email Us!' , 'other@domain.com' , 'hidden@domain.com' , 'Enquiry regarding product #0022' , 'I would like more information on product #0022' ) . '
<br/>' ) ;
?>
PD9waHAKLy8gU1BBTS1QUk9URUNURUQgTUFJTFRPIExJTktTIFdJVEggSFRNTEVOVElUSUVTICYgVVJMLUVOQ09ERUQgQ0hBUkFDVEVSUyB2Mi4wIC0gVG8sIENDLCBCQ0MsIFN1YmplY3QgCi8vIEhUTUwtRVhBTVBMRToJaHR0cDovL2ouLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUubmV0L2tyYWJhdDEvMnY4ZWY1amMvCi8vCQkJCQlodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubi5pby9rcmFiYXQxL3Blbi96Z3N3cgoKZnVuY3Rpb24gc3BhbXNhZmUoJGVtYWlsLCR0ZXh0ID0gTlVMTCwkY2MgPSBOVUxMLCRiY2MgPSBOVUxMLCRzdWJqID0gTlVMTCwkYm9keSA9IE5VTEwpewoJaWYoIGlzc2V0KCAkZW1haWwgKSApewoJCWlmKCFmaWx0ZXJfdmFyKCRlbWFpbCwgRklMVEVSX1ZBTElEQVRFX0VNQUlMKSl7CgkJCWVjaG8oJ25vdCB2YWxpZCcpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfWVsc2V7CgkJCSRwYXR0ZXJuPSIvKFshIyQlJicqK1wvPT9eX2B7fH1+XC1AXC5dKS8iOwoJCS8vIGVtYWlsCgkJCWlmKCAkbWF0Y2hlcyA9IHByZWdfc3BsaXQoJHBhdHRlcm4sICRlbWFpbCxOVUxMLFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSkgKXsKCQkJCSRzdHIxPScnOwoJCQkJJHN0cjI9Jyc7CgkJCQlmb3JlYWNoKCRtYXRjaGVzIGFzICRlbGVtZW50KXsKCQkJCQlpZiggc3RybGVuKCRlbGVtZW50KT4xIHx8IHByZWdfbWF0Y2goIi8oW2EtejAtOV0pLyIsJGVsZW1lbnQpICl7CgkJCQkJCSRtMiA9IHByZWdfc3BsaXQoIi8vIiwgJGVsZW1lbnQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCQkJCQkJZm9yZWFjaCgkbTIgYXMgJG0zKXsKCQkJCQkJCSRzdHIxLj0nJScuc3RydG91cHBlcihkZWNoZXgob3JkKCRtMykpKTsKCQkJCQkJCSRzdHIyLj0nJiMnLm9yZCgkbTMpLic7JzsKCQkJCQkJfQoJCQkJCX1lbHNlIGlmKCBwcmVnX21hdGNoKCRwYXR0ZXJuLCRlbGVtZW50KSApewoJCQkJCQkkc3RyMS49JyYjJy5vcmQoJGVsZW1lbnQpLic7JzsKCQkJCQkJJHN0cjIuPScmIycub3JkKCRlbGVtZW50KS4nOyc7CgkJCQkJfQoJCQkJfQoJCS8vIGVsZW1lbnRzCgkJCQkkZWxlbWVudHMgPSBhcnJheSgnbWFpbHRvJywnOicsJz8nLCcmJywnPScsJ2NjJywnYmNjJywnc3ViamVjdCcsJ2JvZHknKTsKCQkJCSRlbGVtZW50c19yID0gYXJyYXkoKTsKCQkJCWZvcmVhY2goJGVsZW1lbnRzIGFzICRlKXsKCQkJCQkkZSA9IHByZWdfc3BsaXQoIi8vIiwgJGUsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCQkJCQkkZV9yPScnOwoJCQkJCWZvcmVhY2goJGUgYXMgJGUyKXsKCQkJCQkJLy9pZiggcHJlZ19tYXRjaCgiLyhbYS16MC05XSkvIiwkZTIpICl7CgkJCQkJCS8vCSRlX3IuPSclJy5zdHJ0b3VwcGVyKGRlY2hleChvcmQoJGUyKSkpOwoJCQkJCQkvL31lbHNlewoJCQkJCQkJJGVfci49JyYjJy5vcmQoJGUyKS4nOyc7CgkJCQkJCS8vfQoJCQkJCQoJCQkJCX0KCQkJCQlhcnJheV9wdXNoKCRlbGVtZW50c19yLCRlX3IpOwoJCQkJfQoJCQkJJG1haWx0b19zdHIgPSAkZWxlbWVudHNfclswXTsKCQkJCSRjb2xvbl9zdHIgPSAkZWxlbWVudHNfclsxXTsKCQkJCSRxdWVzdGlvbl9zdHIgPSAkZWxlbWVudHNfclsyXTsKCQkJCSRhbXBlcl9zdHIgPSAkZWxlbWVudHNfclszXTsKCQkJCSRlcXVhbHNfc3RyID0gJGVsZW1lbnRzX3JbNF07CgkJCQkkY2Nfc3RyID0gJGVsZW1lbnRzX3JbNV07CgkJCQkkYmNjX3N0ciA9ICRlbGVtZW50c19yWzZdOwoJCQkJJHN1YmplY3Rfc3RyID0gJGVsZW1lbnRzX3JbN107CgkJCQkkYm9keV9zdHIgPSAkZWxlbWVudHNfcls4XTsKCQkJCQoJCS8vdGV4dHMKCQkJJHRleHRzPWFycmF5KCd0ZXh0JyA9PiAkdGV4dCwnY2MnID0+ICRjYywnYmNjJyA9PiAkYmNjLCdzdWJqJyA9PiAkc3ViaiwnYm9keScgPT4gJGJvZHkpOwoJCQkkdGV4dHNfcj1hcnJheSgpOwoJCQkJZm9yZWFjaCgkdGV4dHMgYXMgJHRrID0+ICR0dil7CgkJCQkJaWYoICFpc19udWxsKCR0dikgKXsKCQkJCQkJJHR2MiA9IHByZWdfc3BsaXQoIi8vIiwgJHR2LCAtMSwgUFJFR19TUExJVF9OT19FTVBUWSk7CgkJCQkJCSRzdHI9Jyc7CgkJCQkJCWlmKCR0az09J2NjJyl7CgkJCQkJCQkkc3RyLj0kY2Nfc3RyLiRlcXVhbHNfc3RyOwoJCQkJCQl9ZWxzZSBpZigkdGs9PSdiY2MnKXsKCQkJCQkJCSRzdHIuPSRiY2Nfc3RyLiRlcXVhbHNfc3RyOwoJCQkJCQl9ZWxzZSBpZigkdGs9PSdzdWJqJyl7CgkJCQkJCQkkc3RyLj0kc3ViamVjdF9zdHIuJGVxdWFsc19zdHI7CgkJCQkJCX1lbHNlIGlmKCR0az09J2JvZHknKXsKCQkJCQkJCSRzdHIuPSRib2R5X3N0ci4kZXF1YWxzX3N0cjsKCQkJCQkJfQoJCQkJCQlmb3JlYWNoKCR0djIgYXMgJHR2Myl7CgkJCQkJCQkvLyRzdHIuPSclJy5zdHJ0b3VwcGVyKGRlY2hleChvcmQoJHR2MykpKTsKCQkJCQkJCSRzdHIuPScmIycub3JkKCR0djMpLic7JzsKCQkJCQkJfQoJCQkJCQkkdGV4dHNfclskdGtdPSRzdHI7CgkJCQkJfQoJCQkJfQoJCQkJLy8kdGV4dHNfcms9YXJyYXlfa2V5cygkdGV4dHNfcik7CgkJCQlpZiggaXNzZXQoJHRleHRzX3JbJ3RleHQnXSkgKXsKCQkJCQkkdGV4dDA9JHRleHRzX3JbJ3RleHQnXTsKCQkJCQl1bnNldCgkdGV4dHNfclsndGV4dCddKTsKCQkJCX0KCQkJCSR0ZXh0c19ydj1hcnJheV92YWx1ZXMoJHRleHRzX3IpOwoJCS8vc3RhcnQgZmluYWwgc3RyaW5nCgkJCQkkZmluYWw9JzxhIGhyZWY9IicuJG1haWx0b19zdHIuJGNvbG9uX3N0ci4kc3RyMTsKCgkJCQlpZiggY291bnQoJHRleHRzX3J2KSA+IDAgKXsKCQkJCQkJJGZpbmFsLj0kcXVlc3Rpb25fc3RyLmltcGxvZGUoJGFtcGVyX3N0ciwkdGV4dHNfcnYpOwoJCQkJfQoJCQkJaWYoIGlzc2V0KCR0ZXh0MCkgKXsKCQkJCQkkdGV4dHNfcj1hcnJheSgndGV4dCcgPT4gJHRleHQwKTsKCQkJCX0KCQkJCSRmaW5hbC49JyI+JzsKCQkJCWlmKCBpc19udWxsKCR0ZXh0KSApewoJCQkJCSRmaW5hbC49JHN0cjI7CgkJCQl9ZWxzZXsKCQkJCQkkZmluYWwuPSR0ZXh0c19yWyd0ZXh0J107CgkJCQl9CgkJCQkkZmluYWwuPSc8L2E+JzsKCQkJCXJldHVybiAkZmluYWw7CgkJCX0KCQl9Cgl9Cn0KCmVjaG8oIHNwYW1zYWZlKCdyZWNpcGllbnRAZG9tYWluLmNvbScpIC4gJwo8YnIvPicpOwplY2hvKCBzcGFtc2FmZSgncmVjaXBpZW50QGRvbWFpbi5jb20nLCdFbWFpbCBVcyEnKSAuICcKPGJyLz4nKTsKZWNobyggc3BhbXNhZmUoJ3JlY2lwaWVudEBkb21haW4uY29tJywnRW1haWwgVXMhJywnb3RoZXJAZG9tYWluLmNvbScpIC4gJwo8YnIvPicpOwplY2hvKCBzcGFtc2FmZSgncmVjaXBpZW50QGRvbWFpbi5jb20nLCdFbWFpbCBVcyEnLCdvdGhlckBkb21haW4uY29tJyxOVUxMLCdFbnF1aXJ5IHJlZ2FyZGluZyBwcm9kdWN0ICMwMDIyJykgLiAnCjxici8+Jyk7CmVjaG8oIHNwYW1zYWZlKCdyZWNpcGllbnRAZG9tYWluLmNvbScsJ0VtYWlsIFVzIScsJ290aGVyQGRvbWFpbi5jb20nLCdoaWRkZW5AZG9tYWluLmNvbScsJ0VucXVpcnkgcmVnYXJkaW5nIHByb2R1Y3QgIzAwMjInLCdJIHdvdWxkIGxpa2UgbW9yZSBpbmZvcm1hdGlvbiBvbiBwcm9kdWN0ICMwMDIyJykgLiAnCjxici8+Jyk7Cgo/Pgo=