我有一个显示某些电子邮件的自动系统。为了防止垃圾邮件机器人拿起电子邮件,我想制作一个PHP脚本,在电子邮件中的'@'标志前面自动添加一个'[REMOVE THIS]'字符串。
substr_replace()和strpos()不起作用,因为substr_replace要求替换字符串与原始字符串的长度相同,而strpos()一次只能替换一个字母/符号。我需要能够添加一个全新的字符串'[REMOVE THIS]',而不是删除原始字符串中的任何内容。
我该怎么做?
答案 0 :(得分:1)
换句话说,name @ site.com成为名称[REMOTE THIS] @ site.com?
<?php
$email = "name@site.com";
echo str_replace("@", "[REMOVE THIS]@", $email);
?>
或者,您可以使用:
http://www.wbwip.com/wbw/emailencoder.html
输入您的电子邮件,获取编码版本,将其放入您的网站,它将显示您正确的电子邮件,机器人将无法抓住它,因为它只是代码,尽管它回应了真实的结果..但是当机器人搜索代码时,他们将看到的只是代码。
答案 1 :(得分:0)
preg_replace() preg_replace("/\@/", "[REMOVE THIS]@", $emailaddress)
答案 2 :(得分:0)
这很简单:
$obfuscated_email = str_replace('@', '[REMOVE THIS]@', $real_email);
然后又回来了:
$real_email = str_replace('[REMOVE THIS]', '', $obfuscated_email);