E-Mail-Adresse als HTML-Entities

Hier sah ich einen interessanten C-Code, der einen übergebenen String in die dazugehörigen HTML-Entities umwandelt. Die entsprechende Routine habe ich gleich mal als PHP-Code geschrieben:

<?php   

function
ASCII2HTML($str) {
    $len = strlen($str);
    $res = "";
    for($i = 0; $i < $len; $i++) {
        $res .= "&#".ord($str{$i}).";";
    }
    return $res;
}

?>

Die Funktion eignet sich ideal um E-Mail-Adressen in HTML-Entities umzuwandeln, so dass diese nicht automatisch von Spammern eingesammelt werden können. Der folgende Aufruf erzeugt beispielsweise die HTML-Entities:

&#102;&#111;&#111;&#64;&#98;&#97;&#114;&#46;&#102;&#111;&#111;

<?

    echo ASCII2HTML("foo@bar.foo");

?>

http%3A%2F%2Fwww.anti-hype.de%2F2006%2F03%2F30%2Fe-mail-adresse-als-html-entities& layout=standard&show-faces=true&width=500& action=like&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:500px; height:60px">

Kommentare (1)

AntiHypeMarch 30th, 2006 at 20:14

Eigentlich wollte ich noch was hinzufügen bzw. ändern an dem Artikel. Aber da WordPress bei jedem Editieren die Entities rausschmeisst und die Einrückung des PHP-Codes rückgängig macht, habe ich jetzt keine Lust mehr ;)

Mögliche Rechtschreibfehler darf der ehrliche Finder also gerne behalten. Nur noch so viel: Die Entities werden vom Browser natürlich anschließend als die entsprechenden ASCII-Zeichen angezeigt (also im Beispiel: foo@bar.bar).

Kommentieren?

Dein Kommentar