码迷,mamicode.com
首页 > 其他好文 > 详细

文章摘要显示实现

时间:2017-06-22 10:09:07      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:logs   har   char   new   builder   原理   sub   指定   cut   

原理流程:去掉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>

 

文章摘要显示实现

标签:logs   har   char   new   builder   原理   sub   指定   cut   

原文地址:http://www.cnblogs.com/zy2009/p/7062532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!