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");

?>

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