Linki / wiadomości e-mail analizujące wyniki

Zastanawiam się, czy istnieje prosty fragment kodu, który przekształca linki dowolnego rodzaju:

http://www.cnn.com to <a href="http://www.cnn.com">http://www.cnn.com</a>
cnn.com to <a href="http://www.cnn.com">cnn.com</a>
www.cnn.com to <a href="http://www.cnn.com">www.cnn.com</a>
abc@def.com to  to <a href="mailto:mailto:abc@def.com">mailto:abc@def.com</a>

Nie chcę używać żadnej konkretnej biblioteki PHP5.

Dziękuję za Twój czas.

AKTUALIZACJA&nbsp;Zaktualizowałem powyższy tekst do tego, na co chcę go przekonwertować. Należy pamiętać, że tag href i tekst są różne dla przypadku 2 i 3.

UPDATE2&nbsp;Czy robi to Gmail? Ich jest całkiem sprytny i działa tylko dla prawdziwych nazw domen. na przykład a.ly działa, ale a.cb nie działa.