RegEx, чтобы удалить все стили, но оставить цвет и цвет фона, если они существуют

Я до сих пор не могу использовать регулярные выражения наизусть, поэтому не могу найти окончательного решения для удаления всех стилей из & lt; p style = & quot; & gt; ... & lt; / p & gt; используя RegEx с Javascript, ноleave color and background-color if they exist.

Что я нашел:

1. Remove complete style="..." element with RegEx:

htmlString = (htmlString).replace(/(<[^>]+) style=".*?"/i, '');


2. Remove certain styles with RegEx:

htmlString = (htmlString).replace(/font-family\:[^;]+;?|font-size\:[^;]+;?|line-height\:[^;]+;?/g, '');


Задача: В случае, если мы удалим все назначенные стили (цвет не существует), а стиль будет пуст (у нас есть style = & quot; & quot; или style = & quot;), атрибут style также должен быть удален.

Я думаю, нам нужны две строки кода?

Любая помощь приветствуется!


Example 1 (whitelisted "color" survives):

<p style="font-family:Garamond;font-size:8px;line-height:14px;color:#FF0000;">example</p>

должен стать:

<p style="color:#FF0000;">example</p>

Example 2 (all styles die):

<p style="font-family:Garamond;font-size:8px;line-height:14px;">example</p>

должен стать:

<p>example</p>

Ответы на вопрос(1)

Ваш ответ на вопрос