-
JAVASCRIPT > remplacer les liens dans une chaine par des balises URL
Si dans une chaine, il y a des http://www.site.com , voici comment les transformer en liens HTML du genre <a href="http://www.site.com">http://www.site.com</a>.
function txt_to_url(input){ return input .replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim,'<a href="$&">$&</a>') .replace(/([^\/])(www[\S]+(\b|$))/gim,'$1<a href="http://$2">$2</a>'); }
ATTENTION, les sauts de ligne
<BR>peuvent provoquer des erreurs. Il faut les remplacer par un vrai saut de ligne\n
function txt_to_url(input){ return input .replace(/<br>/gim, '\n') .replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim,'<a href="$&">$&</a>') .replace(/([^\/])(www[\S]+(\b|$))/gim,'$1<a href="http://$2">$2</a>') .replace(/\n/gim, '<br>'); }
Cela se concerne que les protocoles FTP, HTTP, HTTPS, et file. Pour englober tous les protocoles, on peut remplacer la ligne :
.replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim,'<a href="$&">$&</a>')
par
.replace(/(\w+):\/\/[\S]+(\b|$)/gim,’<a href="$&">$&</a>’)