Comment remplacer les Url plaine avec des liens?

Je suis l'aide de la fonction ci-dessous pour des Url à l'intérieur d'un texte donné et de les remplacer par des liens HTML. L'expression régulière est génial de travailler, mais pour l'instant je ne suis que le remplacement du premier match.

Comment je peux remplacer toutes les URL? Je suppose que je devrais être à l'aide de la exec de commande, mais je n'ai pas vraiment comprendre comment le faire.

function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
    return text.replace(exp,"<a href='$1'>$1</a>"); 
}