Entfernen Sie leere Tag-Paare aus dem HTML-Fragment

7

Ich habe eine vom Benutzer gesendete Zeichenfolge, die HTML-Inhalt enthält, z. B.

%Vor%

Ich möchte diese Zeichenfolge so transformieren, dass leere Tag-Paare entfernt werden (aber leere Tags wie <br/> werden beibehalten). Das Ergebnis dieser Umwandlung sollte beispielsweise die obige Zeichenfolge in

konvertieren %Vor%

Ich würde gerne JSoup dazu verwenden, da ich dies bereits in meinem Klassenpfad habe, und es wäre für mich am einfachsten, diese Transformation auf der Serverseite durchzuführen.

    
Dónal 03.01.2012, 10:44
quelle

5 Antworten

21

Hier ist ein Beispiel, das genau das tut (mit JSoup):

%Vor%

Die Ausgabe des obigen Codes ist das, wonach Sie suchen:

%Vor%     
PrimosK 10.01.2012, 12:26
quelle
8

Nicht wirklich vertraut mit jsoup, aber Sie könnten dies mit einem einfachen Regex ersetzen:

%Vor%

Obwohl Sie mit einem vollständigen Parser wahrscheinlich nur leere Inhalte während der Verarbeitung löschen können, je nachdem, was Sie letztendlich damit machen werden.

    
Tom Elliott 03.01.2012 10:58
quelle
1

Jsoup macht aus Benutzereingabe-HTML korrektes XML. Verwenden Sie den XML-Parser, um alle leeren Tags zu finden und zu entfernen. Ich denke, es ist eine bessere Idee als Regexp. Schau hier: Java Entferne leere XML-Tags Sie können JSoup auch verwenden, um leere Tags für Sie zu finden. Schau hier: Ссылка und verwenden Sie die Node.remove () -Methode.

    
Piotr Gwiazda 09.01.2012 14:56
quelle
0

Wenn Sie jQuery verwenden, können Sie es wie

tun %Vor%

Geige: Ссылка

    
dku.rajkumar 03.01.2012 11:00
quelle
-2

nicht wissen, die Jsoup, unten Code funktioniert auch mit einfachen Javascript regex. Probieren Sie den folgenden Code.

%Vor%

}

    
Balaswamy Vaddeman 06.01.2012 06:24
quelle

Tags und Links