请问有下列的正则置换算法吗
<font size="1">test</font>
↓
<span class="kFntSize1">test</span>------------------------------------------------------
<font color="#00FF00">test2</font>
↓
<span style="color:#00FF00;">test2</span>------------------------------------------------------
<font color="#0000FF" size="3">test3</font>
↓
<span style="color:#0000FF;" class="kFntSize3">test3</span>
<font size="1">test</font>
↓
<span class="kFntSize1">test</span>------------------------------------------------------
<font color="#00FF00">test2</font>
↓
<span style="color:#00FF00;">test2</span>------------------------------------------------------
<font color="#0000FF" size="3">test3</font>
↓
<span style="color:#0000FF;" class="kFntSize3">test3</span>
$patterns = '/<font\s*?color\s*?=\s*?"(#[0-9a-zA-Z]{6})"\s*?size="([0-9]{1,})"\s*?>(.*?)<\/font>/is';
$replacements = '<span style="color:$1" class="kFntSize$2">$3</span>';
$html = preg_replace($patterns, $replacements, $html);print_r($html);看来就置换三次吧最近做这个项目给正则把头搞大了