요즘은 이메일 추출 로봇이 지능화, 다양화 되어서.. 헥사 코드로 바꾸더라도 추출될 가능성이 큽니다. 디코딩하면 간단하니까요. 그래도 안하는 것보단 낳으니까...^^;; 또, mailto 링크 보다는 메일 함수를 이용해서.. 메이주소 인코딩시 난수나 문자를 넣어 인코딩 후.. 메일 보내는 페이지에서 디코딩하는 방법도 있습니다. 제로보드 기준으로 설명할께요. 다른 게시판은 응용해서 사용하세요. 제로보드 lib.php 파일을 열어서.. function autolink($str) 을 찾습니다. // URL, Mail을 자동으로 체크하여 링크만듬 바로 위에 아래 헥사코드 함수를 넣어주세요. // hex코드로 바꾸는 함수 function strtohex ($str) { $retval=""; for ($i=0; $i<strlen($str[1]); $i++) { $retval .= "&#x" . bin2hex(substr($str[1], $i, 1)) . ";"; // 헥사코드.. // $retval .= "&#" . hexdec(bin2hex(substr($strr, $i, 1))) . ";"; // 유니코드.. (한글 깨짐) } return $retval; } 그리고, function autolink($str) 함수 내용을 아래 걸로 수정해주시구요. // URL, Mail을 자동으로 체크하여 링크만듬 function autolink($str) { // URL 치환 $homepage_pattern = "/([^\"\'\=\>])(mms|http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^ \n\<\"\']+)/"; $str = preg_replace($homepage_pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$str); // 메일 치환 $email_pattern = "/([ \n]+)([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)/"; $str = preg_replace($email_pattern,"\\1<a href=mailto:\\2@\\3>\\2@\\3</a>", " ".$str); // Email 추출 방지 인코딩 //if(eregi("[[:alnum:]_\-]@[[:alnum:]_.\-]",$str)){ if(eregi("[a-z0-9\_\-\.]@[a-z0-9\_\-\.]",$str)){ $str=preg_replace_callback("/([0-9a-zA-Z_\-]+@[0-9a-zA-Z_.\-]+)/ism",strtohex,$str); } return $str; } 다른 방법은 골뱅이(@,at)를 이미지로 하는 방법도 있습니다. http://oxtag.com/zboard/zboard.php?id=php&page=1&sn1=&divpage=1&sn=on&ss=on&sc=on&keyword=골뱅이&select_arrange=headnum&desc=asc&no=354 |
'인터넷관련' 카테고리의 다른 글
메모장으로 파일 볼때 줄이 붙어 나올때 해결방법 - 개행문자 (0) | 2008.03.01 |
---|---|
제멋대로 사용하는 코맨트와 트랙백의 한글 명칭 (0) | 2008.03.01 |
filemtime - 파일의 마지막 수정 시간을 구함 (0) | 2008.03.01 |
[PHP] 현재일 또는 특정일 부터 즉, 틀정 날짜에 특정일을 더한 날짜 구하기 (0) | 2008.03.01 |
ajax를 이용한 파일 탐색기 (0) | 2008.03.01 |
File Formats - 이미지 오픈시 64color 인지 128color 인지 알수 있는 프로그램 (0) | 2008.03.01 |
PHP RSS Reader [RSS 2.0] (0) | 2008.03.01 |
디데이(D-DAY), 기념일 카운터 (2) | 2008.03.01 |