Hai error_reporting() impostato a 0?
Mancano i delimitatori di inizio e fine stringa. Sostituisci con

Codice PHP:
echo preg_replace("@http://[a-zA-Z0-9\.\-/]+@"''"Ciao [url]http://www.sito.it[/url] mm");