当前位置:  开发笔记 > 编程语言 > 正文

如何在Java中删除HTML标记

如何解决《如何在Java中删除HTML标记》经验,为你挑选了3个好方法。

是否有可以完全删除HTML标记的正则表达式?顺便说一下,我正在使用Java.



1> 小智..:

JSoup这是HTML操作做一个Java库.看一下clean()方法和WhiteList对象.易于使用的解决方案!


更短的代码是`String plaintext = Jsoup.parse(html).text();`
@jrarama - 完全没有.`Jsoup.parse(html).text()`删除所有的标签和空格,只留下一条很长的单行文本,而`new HtmlToPlainText().getPlainText(Jsoup.parse(html))`格式化文字以简单的方式,保持换行符,段落,项目符号等.
哇,你先生,真的让我的一天,我喜欢,是的!Markdownj,Markdown4J,htmlCleaner ..所有这些都是*****抱歉.. JSoup是唯一一个你真正用单行实现的地方:String plain = new HtmlToPlainText().getPlainText(Jsoup.parse( HTML));

2> tangens..:

您应该使用HTML解析器.我喜欢htmlCleaner,因为它给了我一个漂亮的HTML版本.

使用htmlCleaner,您可以:

TagNode root = htmlCleaner.clean( stream );
Object[] found = root.evaluateXPath( "//div[id='something']" );
if( found.length > 0 && found instanceof TagNode ) {
    ((TagNode)found[0]).removeFromTree();
}



3> Andrey Adamo..:

如果您只需要删除标签,那么您可以使用此正则表达式:

content = content.replaceAll("<[^>]+>", "");

它只会删除标签,而不会删除其他HTML内容.对于更复杂的事情,您应该使用解析器.

编辑:为避免HTML注释出现问题,您可以执行以下操作:

content = content.replaceAll("", "").replaceAll("<[^>]+>", "");

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有