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;