Créer les liens automatiquement dans une chaîne en PHP

Voici une fonction PHP qui identifie toutes les URL et les adresses email contenues dans une chaîne de caractères, et les transforme en liens HTML.

function kodex_create_links($string){
	$string = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2", $string);
	$string = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i", "<a href=\"$1\">$1</a>", $string);
	$string = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i", "<a href=\"mailto:$1\">$1</a>", $string);
	return $string;
}