Credo il metodo con espressioni regolari usando preg_replace() sia la soluzione migliore:



$string="www.a.it";
echo preg_replace("/(www\..+\..{2,3})/", "<a href=\"http://\$1\">\$1</a>", $string);