JSFiddle - React, Tailwind, and code Playground

by lloydbanks

HTML

<div id="container">
  <p>Lorem ipsum dolor sit amet, http://google.com consectetur adipisicing elit. Quidem veniam obcaecati dicta ipsum. Incidunt nisi tenetur dolores expedita architecto http://site.ru veniam repellat quos animi autem sint, nam dolorum nobis earum eveniet!</p>
</div>

JavaScript

function createLinksFromText(text) {
  return (text || "").replace(
    /([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi,
    function(match, space, url){
      var hyperlink = url
      if (!hyperlink.match('^https?:\/\/')) {
        hyperlink = 'http://' + hyperlink
      }
      return space + '<a href="' + hyperlink + '">' + url + '</a>'
    }
  )
}

container.innerHTML = createLinksFromText(container.innerHTML)