hi,
i wrote a regular expression to match email adresses:
$text = preg_replace("/([a-z0-9_]|\\-|\\.)+@([^[:space:]<>]*)([[:alnum:]-])/i", "<a 
href=\"mailto:\\1\";>\\1</a>", $text);

unluckily also things like ftp:[EMAIL PROTECTED] were matched.
so i rewrote it to:
$text = 
preg_replace("/(?<!http:\/\/|ftp:\/\/)(([a-z0-9_]|\\-|\\.)+@([^[:space:]<>]*)([[:alnum:]-]))/i",
 "<a href=\"mailto:\\1\";>\\1</a>", $text);

but this gives me:
http:[EMAIL PROTECTED] -> http:[EMAIL PROTECTED]
ftp:[EMAIL PROTECTED] -> ftp:[EMAIL PROTECTED]
[EMAIL PROTECTED] -> [EMAIL PROTECTED]

thanks for your help! :)

Reply via email to