富文本处理
原创
©著作权归作者所有:来自51CTO博客作者嘻嘻是我呀的原创作品,请联系作者获取转载授权,否则将追究法律责任
获取纯文本
/**
* 获取纯文本
* @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;
}```