文章摘要显示实现

原理流程:去掉html所有的标签,返回纯文本字符串-》将纯文本字符串按指定长度截取

 1,去除掉HTML里面所有标签,使用Jsoup开源包

/**
         * 去除掉HTML里面所有标签,使用Jsoup开源包
         * <p>Title: getTextFromTHML</p>
         * <p>Description: </p>
         * @param htmlStr html标签字符串
         * @return 纯文本
         */
        public static String getTextFromTHML(String htmlStr) {
            Document doc = Jsoup.parse(htmlStr);
            String text = doc.text();
            // remove extra white space
            StringBuilder builder = new StringBuilder(text);
            int index = 0;
            while(builder.length()>index){
                char tmp = builder.charAt(index);
                if(Character.isSpaceChar(tmp) || Character.isWhitespace(tmp)){
                    builder.setCharAt(index, ' ');
                }
                index++;
            }
            text = builder.toString().replaceAll(" +", " ").trim();
            return text;
        }

 

2,将纯文本字符串按指定长度截取

 /**  
         * 判断传进来的字符串,是否  
         * 大于指定的字节,如果大于递归调用
         * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 
         *src 传入的字符串
         *cutSize 截取的大小长度
         */ 
        public String cutString(String src,int cutSize) throws Exception{
            int changdu = src.getBytes("UTF-8").length;
            if(changdu > cutSize){
                src = src.substring(0, src.length()-1);
                src=cutString(src, cutSize);
            }
            return src;
        }

 

maven配置:

<!-- jsoup -->
        <dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.7.3</version>
    </dependency>

 

posted @ 2017-06-22 01:26  夜空中闪亮的星星  阅读(239)  评论(0编辑  收藏  举报