RegEx, um alle Stile zu entfernen, aber Farbe und Hintergrundfarbe zu belassen, falls vorhanden

Ich bin immer noch nicht in der Lage, reguläre Ausdrücke auswendig zu können, daher konnte ich keine endgültige Lösung finden, um alle Stile von <p style = ""> ... </ p> mit RegEx mit Javascript zu entfernen, aberLassen Sie Farbe und Hintergrundfarbe, falls vorhanden.

Was ich fand:

1. Entfernen Sie das vollständige style = "..." - Element mit RegEx:

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


2. Entfernen Sie bestimmte Stile mit RegEx:

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


Herausforderung: Falls wir alle zugewiesenen Stile entfernen (keine Farbe vorhanden) und der Stil leer ist (wir haben style = "" oder style = ""), sollte auch das Stilattribut entfernt werden.

Ich denke, wir brauchen zwei Codezeilen?

Jede Hilfe dankbar!


Beispiel 1 (Weiße Liste "Farbe" überlebt):

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

soll werden:

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

Beispiel 2 (alle Stile sterben):

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

soll werden:

<p>example</p>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage