Я использую функцию ниже, чтобы сопоставлять URL-адреса внутри заданного текста и заменять их на ссылки HTML. Регулярное выражение работает отлично, но в настоящее время я заменяю только первое совпадение.
Как я могу заменить весь URL? Я предполагаю, что я должен использовать команду exec, но я действительно не понял, как это сделать.
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>");
}