He conseguido hacerlo.
He utilizado la función preg_replace_callback para buscar el patrón style="loquesea" y sustituirlo por la misma cadena pero dejando solo los atributos "autorizados".
Así:
Antes he definido la función limpia_estilos, que separa todos los atributos contenidos de estilo y vuelve a colocarlos sólo si están autorizados.
Código PHP:
Ver originalfunction limpia_estilos ($cadena) {
$contenido_estilos = explode ('"',$cadena[0]); $contenido_estilos_separado = explode (';', $contenido_estilos [1]); $salida = "style=\"";
foreach ($contenido_estilos_separado as $valor) {
if (preg_match ("/(color|margin-left|text-align|width|height)/i",$valor) > 0) $salida .= $valor.';';
}
$salida .= '"';
return $salida;
}