javascript和php中的电子邮件生成器

时间:2013-02-25 14:22:05

标签: php javascript string

我有一个javascript和php代码,使机器人很难找到一个电子邮件地址。我已经在一个非常基本的网站上实现了它并且它的工作非常完美,但是在另一个网站上有更多的元素 - 有些东西似乎出错并且它不会工作。

javascript会添加mailto:@函数

在php中,调用元素并运行javascript以在单击它时完成该功能 - 使其像普通的mailto:function一样。

是否存在我可能缺少的DOM或全局元素或什么东西?

我正在调用这个脚本 的header.php:

<script type="text/javascript" src="javascript/scripts.js"></script>

scripts.js中:

function blind(name,domain) {
        str = "mailto:" + name + "@" + domain;
        window.location = str;
        }

emailgen.php:

function showContacts()
{
global $debe;
    $return ="";
    $return .="
    <div>";
    $contactitems = $debe->runSql("SELECT * FROM contacts ORDER BY imp");

    for($i=0; $i<count($contactitems); $i++)
    {
            $parts = explode('@', substr($contactitems[$i][3], $pos + 0));

            $return .="
            <p><a href=\"" . $contactitems[$i][2] . "\">" . $contactitems[$i][1] . "</a><br />
            <a href=\"javascript:blind('" . $parts[0] . ",'" . $parts[1] . "')\">" .  $parts[0] . "@" . $parts[1] . "</a><br />
            </p>";  
    }

    return $return;
}

当我查看源代码时,它似乎显示正常,但由于某些原因mailto:没有调用。

emailgen.php的观察源:

<a href="javascript:blind('name,'email.com')">name@email.com</a><br />

1 个答案:

答案 0 :(得分:3)

$parts[0] . "之后添加单引号:

<a href=\"javascript:blind('" . $parts[0] . "','" . $parts[1] . "')\">" .  $parts[0] . "@" . $parts[1] . "</a><br />