Ciao,
uno script rudimentale (ma nel tuo caso funziona) potrebbe essere questo:

<?php
$stringa = "ciao a tutti visitate il mio sito http://www.mio.it oppure mandatemi una mail a alessio@email.it e se avete tempo andate a visitare www.ciao.it";
// indirizzi
$stringa = preg_replace('/(\s*)([^\s]*www[^\s]*)(\s*)/','\\1\\2\\3', $stringa);
// email
$stringa = preg_replace('/(\s*)([^\s]*@[^\s]*)(\s*)/','\\1\\2\\3', $stringa);

echo $stringa;
?>

NOn so per ora se ci siano casi in cui fallisca perchè non ci ho pensato molto.
Fammi sapere.