Добавь ‘g’ в конец регулярного выражения, чтобы задать поиск по всему тексту:
function replaceURLWithHTMLLinks(text) { var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; return text.replace(exp,"<a href=''$1''>$1</a>"); }
Однако, отмечу, что Ваша функция несовершенна и будет пропускать URL, записанные в некоторых форматах, например, если после адреса будет идти запятая (http://www.example.com,) и т.д. О поддержке кириллических адресов вообще речи не идёт. Но это уже другой вопрос.