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>