JSFiddle - React, Tailwind, and code Playground

HTML

<code id="js-copytextarea"><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Hello&nbsp;world"</span><span style="color: #007700">;<br><br></span><span style="color: #FF8000">//&nbsp;...&nbsp;more&nbsp;code<br><br></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Last&nbsp;statement"</span><span style="color: #007700">;<br><br></span><span style="color: #FF8000">//&nbsp;the&nbsp;script&nbsp;ends&nbsp;here&nbsp;with&nbsp;no&nbsp;PHP&nbsp;closing&nbsp;tag</span>
</span>
</code>

<p>
  <button class="js-textareacopybtn">Copy Code</button>
</p>

JavaScript

var copyTextareaBtn = document.querySelector('.js-textareacopybtn');

copyTextareaBtn.addEventListener('click', function(event) {
  selectContent(document.getElementById("js-copytextarea"));
  try {
    var successful = document.execCommand('copy');
  } catch (err) {
    //do something with error
  }
});

function selectContent(el) {
  var range = document.createRange();
  range.selectNodeContents(el);
  var sel = window.getSelection();
  sel.removeAllRanges();
  sel.addRange(range);
};