Ho risolto con:

Codice PHP:
$testo preg_replace('#([url]http://[/url]([^," ])*)#''[url="\1"]\1[/url]'$testo); 
Qualcuno sa come farlo funzionare anche con un testo che inizi con HTTPS:// e WWW.?? Non riesco a modificarlo, ho provato con gli OR in questo modo:

Codice PHP:
$testo preg_replace('#([url]http://[/url]([^,";: ])*)|([url]https://[/url]([^,";: ])*)|([url]www.[/url]([^,";: ])*)#''[url="$1"]$1[/url] [url="http://$2"]$2[/url] [url="$3"]$3[/url]'$testo); 
Non da errore, ma non mi visualizza i link come vorrei, l'HTTP funziona bene, l'HTTPS si vede solo il testo ma non è cliccabile, e il WWW. non funziona per niente.

Sapete aiutarmi?