我在 Java 中有以下内容,我只想去除 html 标签而不是换行符
<p>test1 <b>test2</b> test 3 </p> //line 1
<p>test4 </p> //line 2
如果我在富文本编辑器中打开上面的内容,第 1 行和第 2 行显示在不同的行中(不显示 </p>
标记)。但是在记事本中内容与 </p>
一起显示标签。删除我使用的所有 html 标签
Jsoup.parse(aboveContent).text()
它删除所有 html 字符。但它在记事本的同一行中显示所有第 1 行和第 2 行。 Jsoup 还以某种方式删除了换行符。
我尝试了什么:-
我也尝试替换 </p>
与 \r\n
然后删除 html 标签
Jsoup.parse(contentWith\r\n-Insteadof-</p>Tag ).text()
但 Jsoup 仍然在同一行中删除行尾字符(因为在调试器中我可以看到 line1 和 line2)。
如何让 Jsoup 只去除 html 字符而不去除换行符?
最佳答案
你也可以这样做:
public static String cleanNoMarkup(String input) {
final Document.OutputSettings outputSettings = new Document.OutputSettings().prettyPrint(false);
String output = Jsoup.clean(input, "", Whitelist.none(), outputSettings);
return output;
}
这里重要的事情是: 1. Whitelist.none() - 所以不允许标记 2..prettyPrint(false) - 因此不会删除换行符
关于java - jsoup 只去除 html 标签而不是换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14453047/