java - jsoup 只去除 html 标签而不是换行符?

标签 java html jsoup end-of-line

我在 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/

相关文章:

java - 无法让 Java 使用 if 语句为变量赋值

java - 是否可以从 InputStream 创建一个 File 对象

javascript - 在单个页面上显示来自多个 Div 的滚动

java - 输出 JSoup,元素周围不添加空格和换行符

java - 使用 jsoup 提交搜索查询

java - 如何根据 data-stat 从表中获取 1 个元素

java - 程序启动后启动 Java 代理

html - "Heavy Plus Sign"➕ 在 CSS::之前?

html - 如何将内容对齐到 div 的底部?

java - 如何同时从 2 个或多个网站获取数据?(Android 应用程序)