Replace all spaces in HTML with   except in HTML tags using PHP

0 min read 67 words

If you would like to replace all the spaces in an HTML string with   so that you can render it out to the browser but you also want to retain current spaces in HTML tags you can use the below method:

$inputString = '<span class="color:red">1</span> 2 3';
$outputString = preg_replace_callback("#>[^<]+<#","relSpaces",$inputString);

function relSpaces($match){return str_replace(" ","'",$match[0]);}

This will replace:
<span>1</span> 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3

..to look like this:

<span>1</span> 2''''''' 3

Tags:
Andrew
Andrew

Andrew is a visionary software engineer and DevOps expert with a proven track record of delivering cutting-edge solutions that drive innovation at Ataiva.com. As a leader on numerous high-profile projects, Andrew brings his exceptional technical expertise and collaborative leadership skills to the table, fostering a culture of agility and excellence within the team. With a passion for architecting scalable systems, automating workflows, and empowering teams, Andrew is a sought-after authority in the field of software development and DevOps.

Tags