Я думаю, вы можете использовать PHP DOM для этого.
1) Используйте DOMElement :: getAttribute (), чтобы получить значение атрибута style=
2) Используйте $split = explode(";", $style)
для разделения этих значений CSS
3) С каждой записью $ i of $ split, $attributes = explode(":", $split[$i])
, в имени атрибута get и его значении.
4) Теперь у вас есть $ атрибуты, содержащие 2 значения: атрибут и значение этого атрибута.
5) Используйте DOMElement :: setAttribute (), чтобы добавить эти значения атрибутов $.
Итак, поместите все в коды:
$dom = new DOMDocument();
$dom->loadHTML($html);
$atrvalue= $dom->getAttribute("style");
$split = explode(";", $atrvalue);
for ($i=0; $i<=count($split); $i++) {
$attribute = explode(":", $split[$i]);
$node = $doc->createElement("table");
$newnode = $doc->appendChild($node);
$newnode->setAttribute($attribute[0], $attribute[1]);
}
Этот способ не требует регулярных выражений :) Но вам нужно изменить его, чтобы он соответствовал вашему контексту.