Java过滤任意(script,html,style)标签符,返回纯文本--封装类

2021/4/9 12:25:12

本文主要是介绍Java过滤任意(script,html,style)标签符,返回纯文本--封装类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 import java.util.regex.Pattern;

 

/**

 * 过滤标签字符串,返回纯文本

 *

 */

public class ChangePlainText {

 

    public static void main(String[] args) {

 

        String test="<b>hi</b></br><h1>hello~</h1><哈哈>";

 

        String b=ChangePlainText.Html2Text(test);

 

        System.out.println(b);

    }

 

    public static String Html2Text(String inputString) {

        String htmlStr = inputString; // 含html标签的字符串

        String textStr = "";

        java.util.regex.Pattern p_script;

        java.util.regex.Matcher m_script;

        java.util.regex.Pattern p_style;

        java.util.regex.Matcher m_style;

        java.util.regex.Pattern p_html;

        java.util.regex.Matcher m_html;

 

        try {

            String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; // 定义script的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script>

                                                                                                        // }

            String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; // 定义style的正则表达式{或<style[^>]*?>[\\s\\S]*?<\\/style>

                                                                                                    // }

            String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式

 

            p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);

            m_script = p_script.matcher(htmlStr);

            htmlStr = m_script.replaceAll(""); // 过滤script标签

 

            p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);

            m_style = p_style.matcher(htmlStr);

            htmlStr = m_style.replaceAll(""); // 过滤style标签

 

            p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);

            m_html = p_html.matcher(htmlStr);

            htmlStr = m_html.replaceAll(""); // 过滤html标签

 

            textStr = htmlStr;

 

        } catch (Exception e) {

            System.err.println("Html2Text: " + e.getMessage());

        }

 

        return textStr;// 返回文本字符串

    }

 

}



这篇关于Java过滤任意(script,html,style)标签符,返回纯文本--封装类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程