23.3.1. antispambot()

Schon in Version 0.71 hielt diese Funktion Einzug in WordPress. Trotzdem kennt sie fast niemand. Wie der Name schon sagt, sollte sie dabei behilflich sein, dass automatische Spambots die E-Mail Adresse im Quellcode entdecken und auslesen.

<?php
function antispambot( $email_address, $hex_encoding = 0 ) {
	...
}
?>

Es gilt:

  • $email_address
    Eine E-Mail Adresse.
  • $hex_encoding
    Ein Integer-Wert (0 oder 1). Wobei 1 hexadezimale Codierung aktiviert.

Zurückgegeben wird eine konvertierte E-Mail Adresse als String.

Beispiel 1:

<?php
var_dump( antispambot( 'max@mustermann.de' ) );
var_dump( antispambot( 'max@mustermann.de', 1 ) );
?>

Gibt folgendes aus:

string(55) "max@mustermann.de"

string(70) "max@mu%73t%65rman%6e.de"

WordPress wendet die Funktion im Filter comment_email an.

Beispiel 2:

Sie könnten die Funktion für eine Shortcode nutzen:

<?php
add_shortcode( 'email', function ( $atts, $content, $shortcode_name ) {
	extract( shortcode_atts( array( 'address' => '' ), $atts, $shortcode_name ) );

	$address = antispambot( $address );

	return '<a href="mailto:' . $address . '">' . $address . '</a>';
} );
?>

Genutzt würde der Shortcode wie folgt:

[email address="max@mustermann.de"]

Die Ausgabe wäre:

<a href="mailto:max@mustermann.de">max@mustermann.de</a>