Ciao, mi serve un aiutino

Io ho questa funzione,
codice:
$text = preg_replace( "`((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?`i", "<a href=\"http\\3://\\5\\6\\8\\9\" title=\"\\0\">\\5\\6</a>", $text);
che cambia in $text se trova un link lo mette in forma html.

Ora il problema è questo dovrei mettere un veto del tipo se prima di http c'è un = non devo effettuare il replace, ora se non ho capito male dovrei usare una cosa tipo [^=] ma se la metto prima così:
codice:
$text = preg_replace( "`[^=]((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?`i", "<a href=\"http\\3://\\5\\6\\8\\9\" title=\"\\0\">\\5\\6</a>", $text);
praticamente non la mette in azione