$re = '/<font color="([^"]*)">(.*?)<\/font>/m';
$str = '<pre><font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>$ ls apps
<font color="#4E9A06"><b>Bitwarden-1.27.1-x86_64_a6df18330216c2546e435c5a9c5df432.AppImage</b></font>
<font color="#3465A4"><b>gitkraken</b></font>
<font color="#4E9A06"><b>session-desktop-linux-x86_64-1.6.7_18e4489c1ba2c40986ad03ca6522e187.AppImage</b></font>
<font color="#3465A4"><b>sources</b></font>
<font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>$
</pre>
';
$subst = "<span style=\"color: $1\">$2</span>";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php