網絡上有很多所謂「爬網機器人」(spam bot),專門收集網頁中的各種資訊,其中一種它們最喜愛的東西就是電郵地址 (email address),因為這些地址可以儲存起來,日後用來發放「濫發電郵」(spam),或者賣給提供這些服務的公司。其實我們可以把電郵地址進行「HTML 編碼」(HTML encoding),避免電郵地址被這些討厭的機器人收集,但對真人用戶沒有絲毫影響。
Paul Underwood 提供了一個只有八行的 PHP 函式,它使用 PHP 的 ord() 函式把電郵地址中每一個字符轉變為對應的 ASCII 編碼:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  | /**
 * Encode an email address to display on your website
 */
function encode_email_address( $email ) {
     $output = '';
     for ($i = 0; $i < strlen($email); $i++)
     {
          $output .= '&#'.ord($email[$i]).';';
     }
     return $output;
}
  | 
只要把電郵地址送給這個函式,它便會送回一個 HTML 編碼後的電郵地址:
1
2
  | $encodedEmail = encode_email_address( '[email protected]' );
printf('<a href="mailto:%s">%s</a>', $encodedEmail, $encodedEmail);
  |