fork download
  1. <?php
  2. $content = "Thi's is an image: <img src='/img.jpeg' /> This is a <a href='/abc.htm'/>Link</a> Thi's or Thi&#8217;s";
  3. $regex = '~<[^>]+>(*SKIP)(*FAIL)|\b\w+\b~';
  4.  
  5. $wrapped_content = preg_replace($regex, "<span>\\0</span>", $content);
  6. echo $wrapped_content;
Success #stdin #stdout 0s 52488KB
stdin
Standard input is empty
stdout
<span>Thi</span>'<span>s</span> <span>is</span> <span>an</span> <span>image</span>: <img src='/img.jpeg' /> <span>This</span> <span>is</span> <span>a</span> <a href='/abc.htm'/><span>Link</span></a> <span>Thi</span>'<span>s</span> <span>or</span> <span>Thi</span>&#<span>8217</span>;<span>s</span>