Java 替换字符串中的所有非 HTML 标签

标签 java tags html-parsing

如果那些不是有效的 HTML 标签,我想替换字符串中所有看起来像标签的部分。 看起来像标签的部分是包含在 <> 中的东西括号。例如。 <myemail@email.com><hello>但是<br> , <div> , 等等必须保留。

你知道如何实现吗?

感谢任何帮助!

干杯,

胡说八道

最佳答案

您可以使用 JSoup清理 HTML。

String cleaned = Jsoup.clean(html, Whitelist.relaxed());

您可以使用定义的 Whitelists 之一或者你可以创建你自己的自定义一个,你可以在其中指定你希望允许哪些 HTML 元素通过清理器。其他所有内容都被删除。


您的具体示例是:

String html = "one two three <blabla> four <text> five <div class=\"bold\">six</div>";
String cleaned = Jsoup.clean(html, Whitelist.relaxed().addAttributes("div", "class"));
System.out.println(cleaned);

输出:

one two three  four  five 
<div class="bold">
 six
</div>

关于Java 替换字符串中的所有非 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4691539/

相关文章:

java - 用于库使用的 Spring IoC 上下文配置?

java - 在java中发送邮件需要太多时间,我该如何克服这个问题

javascript - 在图像本身中标记图像?如何

java - 在java中以字符串形式获取列表数据

java - 关于用Files.walkFileTree删除符号链接(symbolic link)的查询

java - JSP中java代码引用的html标签ID

java - Jsp 中标签的数据类型

powershell - 如何使用-UseBasicParsing解析Powershell 5中的HTML

python - 使用 HTMLParser 从页面中提取绝对链接

javascript - DomParser parseFromString 删除节点