Funktion zum Maskieren von E-Mail-Adressen

von

Nachdem ich nach 30 Minuten googeln nichts Vernünftiges fand, habe ich mich mal wieder lernend mit Php beschäftigt und diese kleine Funktion gebaut:

function hs_mailreplace($str) {

  return preg_replace_callback ('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})^',
    create_function (
      '$str',
      'for ($i = 0; $i < strlen($str[0]); $i++) {
        $result .= "&#" . ord(substr($str[0], $i, 1)) . ";";
      };
      return $result;'
    ), 
  $str);

}

Wie man sieht, sucht die Funktion in einem String nach E-Mail-Adressen und ersetzt deren Zeichen durch ihre ASCII-Entsprechungen.

Kommentieren