2013-02-25 67 views
0

我有一個javascript和php代碼,使得電子郵件地址難以找到機器人。我已經在一個非常基本的網站上實現了它,它的工作原理非常完美,但是在其他網站上有更多的元素 - 某些東西似乎會出錯,而且無法工作。在javascript和php中的電子郵件生成器

的JavaScript在mailto:@功能

在PHP

補充說,該元素被稱爲在和JavaScript運行才能完成的功能,當你點擊它 - 使它像一個普通的mailto:功能。

有沒有什麼我可能在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:沒有呼叫。

viewsource emailgen.php的:

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

回答

3

添加一個單引號$parts[0] . "後:

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

自然,監督!感謝您發現這一點。 – antonanton 2013-02-25 14:35:03