如何使用PHP在另一个字符串的中间添加字符串值?

时间:2010-11-27 06:09:09

标签: php string edit

我有一个显示某些电子邮件的自动系统。为了防止垃圾邮件机器人拿起电子邮件,我想制作一个PHP脚本,在电子邮件中的'@'标志前面自动添加一个'[REMOVE THIS]'字符串。

substr_replace()和strpos()不起作用,因为substr_replace要求替换字符串与原始字符串的长度相同,而strpos()一次只能替换一个字母/符号。我需要能够添加一个全新的字符串'[REMOVE THIS]',而不是删除原始字符串中的任何内容。

我该怎么做?

3 个答案:

答案 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);