JSFiddle - React, Tailwind, and code Playground
HTML
http://www.google.com/pouet dkfjlsk fsdlk fjdsklf jklsfj
df jlkjsd flkjsdlkf jsdlkjf
sf lskdjflk sjflkj
http://youtube.com
gopher://dsdsdsd.com
dsfjsdlk jsdklfj slkdfj lsk http://www.guisachan.fr/ACCUEIL/photos/chiot_labrador_preambule.jpg qfdsjfhskf
JavaScript
var str = document.body.innerHTML;
var linkRegExp = /((\w+)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?\/?([a-zA-Z0-9\-\._\?\,\'\/\\\+&%\\$#\=~])*[^\.\,\)\(\s])/g;
var newHTML = str.replace(linkRegExp, function(lien) {
// is image ?
if (/\.(jpe?g|png|gif)$/.test(lien)) {
return '<img alt="user image" src="' + lien + '"/>';
}
return '<a href="' + lien + '">' + lien + '</a>'
});
document.body.innerHTML = newHTML;