zoukankan      html  css  js  c++  java
  • 文章摘要显示实现

    原理流程:去掉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>
  • 相关阅读:
    准备 LVM Volume Provider
    掌握 cinder-scheduler 调度逻辑
    Cinder 组件详解
    掌握 Cinder 的设计思想
    理解 Cinder 架构
    1 张图秒懂 Nova 16 种操作
    计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)
    Live Migrate 操作
    Resize Instance 操作详解
    关于Linux的10个核心面试问题与答案
  • 原文地址:https://www.cnblogs.com/zy2009/p/7062532.html
Copyright © 2011-2022 走看看