从字符串中移除HTML标签 [英] Remove HTML tags from a String

查看:111
本文介绍了从字符串中移除HTML标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有一种从Java字符串中移除HTML的好方法?一个简单的正则表达式像

  replaceAll(\\<。*?>,)

可以工作,但是像& amp; wont被正确地转换,两个尖括号之间的非HTML将被删除(即正则表达式中的。*?将消失)。

解决方案

使用HTML解析器而不是正则表达式。使用 Jsoup ,这很简单。

  public static String html2text(String html){
return Jsoup.parse(html).text();
}

Jsoup也支持根据可定制的白名单移除HTML标记,如果您只允许例如< b> < i> < u> $ b $ h3另请参见:

$ ul $ b $ li

  • 什么是领先的Java HTML解析器的优缺点?

  • 我在寻找一个Java的HTML编码器



  • Is there a good way to remove HTML from a Java string? A simple regex like

     replaceAll("\\<.*?>","") 
    

    will work, but things like &amp; wont be converted correctly and non-HTML between the two angle brackets will be removed (i.e. the .*? in the regex will disappear).

    解决方案

    Use a HTML parser instead of regex. This is dead simple with Jsoup.

    public static String html2text(String html) {
        return Jsoup.parse(html).text();
    }
    

    Jsoup also supports removing HTML tags against a customizable whitelist, which is very useful if you want to allow only e.g. <b>, <i> and <u>.

    See also:

    这篇关于从字符串中移除HTML标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆