2017-08-09 10 views
0

Meine Frage ist nicht auf eine erneute Frage nach der Frage oben vorgestellten ...Correct unescaped Text in HTML

Ich habe diesen Text (aus der Datenbank):

<p>I love Java & .NET ! <strong>5 > 3</strong></p> 

Wie Sie sehen, die & und > ist NICHT entkommen.

In Java gibt es eine Möglichkeit, diese Zeichenfolge in drehen:

<p>I love Java &amp; .NET ! <strong>5 &gt; 3</strong></p> 

Wie Sie bemerkt haben, ich möchte alle HTML-Tags in gleicher Weise zu halten, sie sind, aber ich möchte, dass die entkommen Text, ungültig für XML (Dieser Text muss für Docx4J XHTMLImporter gültig sein).

Vielen Dank!

+1

@Javad Ihr dup Ziel ist es über eine ganze Reihe zu entkommen. Bei dieser Frage geht es darum, einzelne Zeichen zu entfernen, die Tags jedoch unverändert zu belassen. – Ivar

+0

@Ivar Danke für die zusätzliche Erklärung. – Guillaume

Antwort

0

Sie können Escape-Zeichen verwenden, um Ihr Problem zu lösen.
Für & Zeichen können Sie verwenden:
&#38;
Und für> können Sie verwenden:
&#62;
Liste der Escape-Zeichen here gefunden werden konnte.

+0

Was ist mit meinem HTML-Tag? Ich brauche wirklich die zweite Saite, sonst nichts! – Guillaume

0

benutzte ich Jsoup und seine Parse-Funktion meine Zeichenfolge zu reinigen:

String unscappedHtml = " "; 
    if (StringUtils.isNotBlank(unscappedText)) { 
     // We remove width and height from image tags. 
     Document doc = Jsoup.parse(unscappedText); 
     doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml); 
     doc.select("a").unwrap(); 
     unscappedHtml = doc.body().html(); 
    }