JSFiddle - React, Tailwind, and code Playground

HTML

картинка<img src="http://vkontakte.ru/images/toplink.gif"><hr>

это было уже ссылкой<br>
<a href="http://google.ru">href to <b>www.google.ru</b></a>
<hr>
<u>ссылки текстом</u>
<br>
просто ссылка текстом на vk.ru<hr>

и на гугл карту <br>
http://maps.google.ru/maps/place?q=59.944215,30.307012

<hr>
ссылка текстом в элементе с атрибутами
<br>
<i onclick="alert('Приятного просмотра');">http://wiki.winehq.org/UsefulRegistryKeys</i>

JavaScript

prohibited = ['a','img'];
a=/(?:<(\w+)(.*?)(?:(?:src=")|>))?\s*((?:http:\/\/)?(?:www)?((?:\w+\.)+\w+)(?:\/\w+(?:\.\w+)?)*(?:\?[\w\d%=&,\.;]+)?)\s*("|<)?/gi;

b=function(a, tagname,attrs, url, domain, end){ 
    
    for(var i=0;i<prohibited.length;i++) {
        if(typeof prohibited[i]=="string")
            prohibited[i] = new RegExp(prohibited[i],'i');
        if(prohibited[i].test(tagname))
            return a;
    };

    url = url.replace(/&amp;/g,'&');
    
return (tagname?('<'+tagname+(attrs||'')+'>'):'')+domain.link(url)+(end||'');
};

document.body.innerHTML = document.body.innerHTML.replace(a,b);