const URL_REGEX = /(https?:\/\/[^\s<]+[^\s<.,!?)}\]"'\\])/gi; export function linkifyText(text) { const parts = []; let lastIndex = 0; let match; URL_REGEX.lastIndex = 0; while ((match = URL_REGEX.exec(text)) !== null) { if (match.index > lastIndex) { parts.push(text.slice(lastIndex, match.index)); } parts.push( {match[0]} ); lastIndex = match.index + match[0].length; } if (lastIndex < text.length) { parts.push(text.slice(lastIndex)); } return parts.length ? parts : text; }