PDA

Просмотр полной версии : Парсинг зашифрованных email [email_protected]


blackice777
14.04.2016, 22:34
На некоторых сайтах стоит защита от парсинга email, на сайте они отображаются нормально, но в коде выглядят так:


[email*protected]

И при парсинге мы получаем вместо email: [email*protected]

Решил написать функцию на php для преобразования закодированных таким образом email к нормальному виду, может кому пригодится:


functionemailDecode($email_encoded){
for($e='',$r=hexdec('0x'.substr($e mail_encoded,0,2)),$n=2;strlen($email_encoded) -$n;$n+=2){
$e.='%'.substr('0'.dechex(hexdec('0x'.substr($emai l_encoded,$n,2)) ^$r), -2);
}
returnurldecode($e);
}


Пример работы при использовании simple_html_dom:


find('.__cf_email__',0)->getAttribute('data-cfemail');
$email=emailDecode($email_encoded);
die($email);

functionemailDecode($email_encoded){
for($e='',$r=hexdec('0x'.substr($e mail_encoded,0,2)),$n=2;strlen($email_encoded) -$n;$n+=2){
$e.='%'.substr('0'.dechex(hexdec('0x'.substr($emai l_encoded,$n,2)) ^$r), -2);
}
returnurldecode($e);
}