2010-11-27 3 views
1

특정 전자 메일을 표시하는 자동화 시스템이 있습니다. 스팸 봇이 전자 메일을 수신하지 못하도록 전자 메일에서 '@'기호 바로 앞에 '[제거]'문자열을 자동으로 추가하는 PHP 스크립트를 만들고 싶습니다.PHP를 사용하여 다른 문자열의 중간에 문자열 값을 어떻게 추가합니까?

substr_replace는 substr_replace가 대체 문자열을 원래 문자열 조각과 동일한 길이로하고 strpos()가 한 번에 하나의 문자/기호 만 바꿀 수 있기 때문에 substr_replace() 및 strpos()가 작동하지 않습니다. 완전히 새로운 문자열을 추가 할 수 있어야합니다. '[제거]'는 원래 문자열에서 아무 것도 삭제하지 않는 것이 좋습니다.

어떻게하면됩니까?

답변

0

preg_replace()preg_replace("/\@/", "[REMOVE THIS]@", $emailaddress)

+0

'str_replace'와 같이 간단한 바꾸기 만하면됩니다. – Michael

+0

간단한 예제를 사용했지만 정규식을 추가하여 다른 것을 사용하지 않고 전자 메일 주소 앞에 올릴 수 있습니다. 이메일을 검증하는 정규식은 내가 본 중에 최악입니다. :) – Rahly

0

단순형이 같이

$obfuscated_email = str_replace('@', '[REMOVE THIS]@', $real_email); 

다시 돌아 말하면

$real_email = str_replace('[REMOVE THIS]', '', $obfuscated_email); 
1

, [email protected] 이름 [REMOTE THIS] @site진다 .com?

<?php 
$email = "[email protected]"; 
echo str_replace("@", "[REMOVE THIS]@", $email); 
?> 

또는, 당신은 사용할 수 있습니다, 전자 메일

http://www.wbwip.com/wbw/emailencoder.html

유형, 인코딩 된 버전을 사이트에 넣어 그것은 당신의 적절한 전자 메일과 봇을 표시합니다 실제 결과가 나오는 것처럼 보이지만 코드를 잡아낼 수는 없습니다.하지만 코드를 검색하는 봇은 코드 만 볼 수 있습니다.

관련 문제