2017-08-09 51 views
0

我的問題是不是上面提出的問題的重複的問題...正確轉義文本在HTML

我有這樣的文字(從數據庫):

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

正如你看到的,&>不會被轉義。

在Java中,有沒有辦法把這個字符串變成:

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

正如你注意到,我想保持在相同的方式,他們是所有的HTML標籤,但我想逃離文本,對XML無效(此文本必須對Docx4J XHTMLImporter有效)。

謝謝!

+1

@Javad你DUP目標是有關轉義整個字符串。這個問題是關於轉義單個字符,但保持原樣。 – Ivar

+0

@Ivar謝謝你的額外解釋。 – Guillaume

回答

0

您可以使用轉義字符來解決您的問題。
對於&標誌可以使用:
&#38;
而對於>您可以使用:
&#62;
轉義字符全部列表可以發現here

+0

我的HTML標記呢?我真的需要第二個字符串,而不是其他任何東西! – Guillaume

0

我用Jsoup及其解析函數來清洗我的字符串:

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(); 
    }