seth: Funktion in einem regulären Ausdruck

Beitrag lesen

gudn tach!

ich möchte per PHP in einem Text $text alle E-Mails suchen und als HTML-Code linken, so weit:
$text = preg_replace ("!([_a-zäöüéèàA-ZÄÖÜÉÈÀ0-9-]+(.[_a-zäöüéèàA-ZÄÖÜÉÈÀ0-9-]+)*@([a-zäöüéèàA-ZÄÖÜÉÈÀ0-9-]+.)+([a-zA-Z]{2,3}))!", "<a href="mailto:\1">\1</a>", $text);

u.a. die domains .info und .museum bleiben unberuecksichtigt. und punkte koennen auch mehrere hintereinander auftreten. ach ja, das sz wird ebenfalls nicht gematcht.

kurz: perfekt laesst sich diese aufgabe kaum loesen.

Jetzt möchte ich zusätzlich die gefundene E-Mail einer Funktion convertEmail($email) übergeben, die alle @ und . in der E-Mail in [at] und [dot] verwandelt. Die Funktion als solche habe ich, aber wie rufe ich sie innerhalb des regulären Ausdrucks auf?

preg_replace_callback.

prost
seth