Как на JavaScript и replace заменить все вхождения, а не только первое?

Добавь ‘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,) и т.д. О поддержке кириллических адресов вообще речи не идёт. Но это уже другой вопрос.

Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.