per la prima domanda usa
http://se.php.net/manual/en/function.nl2br.php
per la seconda avevo trovato questa funzione (non ricordo se sul forum o da qualche altra parte)
codice:
function html_activate_links($str) {
$str = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)', '\1', $str);
$str = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)', '\1\2', $str);
$str = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})','\1', $str);
return $str;
}
spero che il forum non abbia "mangiato" nessun carattere.