RegEx, aby usunąć wszystkie style, ale pozostaw kolor i kolor tła, jeśli istnieją
Nadal nie jestem w stanie używać wyrażeń regularnych na pamięć, dlatego nie mogłem znaleźć ostatecznego rozwiązania, aby usunąć wszystkie style z <p style = ""> ... </p> używając RegEx z Javascriptem, alepozostaw kolor i kolor tła, jeśli istnieją.
Co znalazłem:
1. Usuń element complete style = "..." za pomocą RegEx:
htmlString = (htmlString).replace(/(<[^>]+) style=".*?"/i, '');
2. Usuń niektóre style za pomocą RegEx:
htmlString = (htmlString).replace(/font-family\:[^;]+;?|font-size\:[^;]+;?|line-height\:[^;]+;?/g, '');
Wyzwanie: W przypadku, gdy usuwamy wszystkie przypisane style (nie ma koloru), a styl jest pusty (mamy style = "" lub style = ""), należy również usunąć atrybut stylu.
Myślę, że potrzebujemy dwóch linii kodu?
Każda pomoc doceniona!
Przykład 1 (na białej liście „kolor” przetrwa):
<p style="font-family:Garamond;font-size:8px;line-height:14px;color:#FF0000;">example</p>
powinno stać się:
<p style="color:#FF0000;">example</p>
Przykład 2 (wszystkie style umierają):
<p style="font-family:Garamond;font-size:8px;line-height:14px;">example</p>
powinno stać się:
<p>example</p>