$str = '<TABLE style="WIDTH: 241pt; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 rowspan=6 width=321 border=1 x:str COLspan=4><tr><td>testtesttes</td></tr></table>';
$str = preg_replace('/\<table([^\>].*)?rowspan=[\"\']?([0-9]+)[\"\']?(\s.*)?colspan=[\'\"]?([0-9]+)[\'\"]?([^\>].*?)?\>/i','<table rowspan=$2 colspan=$4>',$str);
echo htmlspecialchars($str);
$str = preg_replace('/\<table([^\>].*)?rowspan=[\"\']?([0-9]+)[\"\']?(\s.*)?colspan=[\'\"]?([0-9]+)[\'\"]?([^\>].*?)?\>/i','<table rowspan=$2 colspan=$4>',$str);
echo htmlspecialchars($str);
$str = '<TABLE style="WIDTH: 241pt; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 rowspan=6 width=321 border=1 x:str COLspan=4><tr><td>testtesttes</td></tr></table>';
$str = preg_replace('/\<table([^\>].*)?(rowspan|colspan)=[\"\']?([0-9]+)[\"\']?(\s.*)?(colspan|rowspan)=[\'\"]?([0-9]+)[\'\"]?([^\>].*?)?\>/i','<table $2=$3 $5=$6>',$str);
echo htmlspecialchars($str);
1、避免出现引号错误,如:rowspan="2'等;
2、避免等号前后出现空格、换行等,如rowspan =
"2"。$str = preg_replace('/\<table[^\>]+(rowspan|colspan)[\s\r\n]*=[\s\r\n]*([\"\']?)(\d+)\2[^\>]+(colspan|rowspan)[\s\r\n]*=[\s\r\n]*([\'\"]?)(\d+)\5[^\>]*\>/i','<table \1=\3 \4=\6>',$str);