Есть у меня справочник со списком организаций рф. У каждой организации есть своя анкета в которой есть ее наименование, форма собственности, адрес сайта, e-mail адрес и т.д. Вопрос как защитить e-mail адреса в анкетах. Предложения типа переделать все адреса в info [собака] mail.ru отклоняются. Возможно ли e-mail'ы конвертировать в png и не завалялся ли у кого такой скрипт на php? п.с. гугл не помог.
1. Либо постить его яваскриптом 2. Либо картинку формируй с мейлом, и вставляй ее, собсна Имхо 2 наиболее рациональных выхода
думаю что толку от яваскрипта мало, все равно мыла можно будет собрать парсером. этот вариант мне больше симпотизирует, но скрипта нормального не нашел, не редактировать же каждый маил вручную.
Насчет яваскрипта - ченить типо document.getElementById('mail_div').innerHTML += 'mail' document.getElementById('mail_div').innerHTML += '@' document.getElementById('mail_div').innerHTML += 'domain.tld' А насчет картинки - в принципе модуль GD тебе в помощь )
PHP: <?php $filen = "anket.html"; $size = '11'; $save = fopen($filen,"a+t"); $f = fread($save,102400); ftruncate($save,0); preg_match_all("/[A-Za-z0-9\_\.\-]+@[A-Za-z0-9\_\.\-]+[.]{1}[a-zA-Z]{2,5}/",$f,$mails); foreach($mails[0] as $line){ $href = '<img src="http://2ip.ru/spambot/spam_protect.php?preview=1&email='.$line.'&style[bgcolor]=FFFFFF&style[color]=000000&style[face]=Rockwell&style[size]='.$size.'">'; $f = str_replace($line,$href,$f); } fwrite($save,$f); fclose($save); ?> В файл anket.html - положишь анкеты. На него же выставишь права 777. Скрипт заменит все мыла на картинки с 2ip. Т.е было [email protected], стало PHP: <img src="http://2ip.ru/spambot/spam_protect.php?md5=TW1sd2MzQmhiWEJ5YjNSbFkzUmhjMlJtWjBCdFlXbHNMbkox&style[face]=Rockwell&style[size]=10&style[color]=000000&style[bgcolor]=FFFFFF"> Рекомендую запускать на локалхосте. После всех этих действий можешь публиковать анкеты!
Написал простейший скрипт, создающий картинку и накладывающий на неё текст (в данном случае емейл). Цыет картинки, цвет текста, шрифт и смещения настроишь сам. Насчёт размера картинки думаю сам доработаешь, т.к. длинные мейлы могут просто не влезть в изображение, но можешь просто тупо сделать изображение больше или проверку на влезание сделай)) В общем откоментировал по максимуму, думаю разберёшься)) PHP: <?php function img($mail){ $img = imagecreate(120,30); /*Создаём картинку*/ imagecolorallocate ($img, 0, 0, 0); /*Цвет картинки*/ $color = imagecolorallocate ($img, 0, 255, 255); /* установка цвета текста*/ imagestring($img, 4, /* id шрифта (0-5 - системные)*/ 5, /* смещение по X (горизонтали) */ 5, /* смещение по Y (вертикали)*/ $mail, $color); header('Content-type: image/gif'); imagegif($img); /* выводим изображение в браузер */ } echo img('[email protected]'); ?>