获取纯文本

/**
     * 获取纯文本
     * @param richText
     * @return
     */
    public static String getText(String richText) {
        String regx = "(<.+?>)|(</.+?>)";
        Matcher matcher = Pattern.compile(regx).matcher(richText);
        while (matcher.find()) {
            /**替换图片*/
            richText = matcher.replaceAll("").replace(" ", "");
        }
        return richText;
    }

获取image属性

/**
     * 获取文本中的img标签的src属性值
     *
     * @param htmlStr
     * @return
     */
    public static List<String> getImgSrc(String htmlStr) {
        String img = "";
        Pattern p_image;
        Matcher m_image;
        List<String> pics = new ArrayList<String>();
        String regEx_img = "<img.*src\\s*=\\s*(.*?)[^>]*?>";
        p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
        m_image = p_image.matcher(htmlStr);
        while (m_image.find()) {
            img = img + "," + m_image.group();
            Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
            while (m.find()) {
                pics.add(m.group(1));
            }
        }
        return pics;
    }

图片处理

@Override
    public Image savePic(String avatarPic, String imageName, String tag) {
        Image image = new Image();
        if (!StringUtils.isEmpty(avatarPic)) {
//            String dataImage = avatarPic.substring(0, avatarPic.indexOf(";"));
//            String img_suffix = getSuffix(dataImage);
            String img_suffix = "jpg";
            //获取图片后缀名
            image.setName(imageName);
            image.setType(img_suffix);
            image.setTag(tag);
            image.setCreateTime(LocalDateTime.now());
            boolean save = save(image);
            if (save) {
                try {
                    String path = CmsUtil.idToFullPathImage(image.getId(), img_suffix);
                    avatarPic = avatarPic.substring(avatarPic.indexOf(",", 1) + 1, avatarPic.length());
                    Base64.Decoder decoder = Base64.getDecoder();
                    byte[] b = decoder.decode(avatarPic);
                    // 处理数据
                    for (int i = 0; i < b.length; ++i) {
                        if (b[i] < 0) {
                            b[i] += 256;
                        }
                    }
                    // 保存图片
                    File imageFile = new File(imageRootDir + path);
                    if (!imageFile.getParentFile().exists()) {
                        imageFile.getParentFile().mkdirs();
                        log.info("createImagePath:{}" + imageRootDir + path);
                    }
                    OutputStream out = new FileOutputStream(imageFile);
                    out.write(b);
                    out.flush();
                    out.close();
                    image.setSrc(path);
                    updateById(image);
                } catch (IOException e) {
                    log.error("PortalService-保存图片异常:{}", e);
                }
            }
        }

        return image;
    }```