Questo è il codice corretto, a quello postato prima mancava \0 alla fine


Codice PHP:
//Rende l'url linkabile nel campo messaggio
$messaggio preg_replace("/^(http(s)?:\/\/|ftp(s)?:\/\/|www\.)[A-Za-z0-9][-_!#$%&;:.,*+=?^{|}~A-Za-z0-9\/]*[a-z0-9](\.[a-z0-9]{2,4})$/",'[url="\\0"]\\0[/url]'$messaggio);