PHP RegEx entfernen leere Absatztags

7

Ich versuche, alle leeren <p> -Tags zu entfernen, die CKEditor in eine Beschreibungsbox einfügt, aber sie scheinen alle zu variieren. Die Möglichkeiten scheinen zu sein:

%Vor%

Mit diesen Möglichkeiten könnte es eine beliebige Menge Leerzeichen, &nbsp; und <br /> Tags zwischen den Absätzen geben, und es könnte einige von jeder Art in einem Absatz geben.

Ich bin mir auch nicht sicher über das <br /> -Tag, von dem, was ich gesehen habe, könnte es <br /> , <br/> oder <br> sein.

Ich habe SO nach einer ähnlichen Antwort gesucht, aber von allen Antworten, die ich gesehen habe, scheinen sie alle nur für einen dieser Fälle zu sorgen, nicht alle auf einmal. Ich denke in einfachen Worten, was ich frage ist, gibt es einen regulären Ausdruck, den ich verwenden kann, um alle <p> -Tags von HTML zu entfernen, die keinen alphanumerischen Text oder Symbole / Interpunktion in ihnen haben?

    
Andy 10.01.2013, 14:54
quelle

2 Antworten

17

Nun, im Gegensatz zu meinem Vorschlag, HTML nicht mit Regex zu analysieren, habe ich eine Regex geschrieben, um genau das zu tun:

%Vor%

Dies passt richtig für:

%Vor%

Was es macht:

%Vor%     
Cerbrus 10.01.2013, 15:12
quelle
2

Die ausgewählte Antwort ist großartig, aber sie funktioniert nicht, wenn <p> -Tag Inline-Style-Attribute definiert hat, wie <p style="font-weight:bold"> .

Eine Regex, die dem entspricht, wäre:

%Vor%     
Luis 06.05.2015 12:34
quelle

Tags und Links