package com.paic.pad.info.common.utils;import java.util.List;import org.apache.commons.lang.StringUtils;import com.paic.pad.info.resources.interaction.dto.ResourceCommentDTO;import com.paic.pad.info.tmr.board.dto.MessageBoardDTO;import com.paic.pad.info.tmr.question.dto.QuestionsAnswersDTO;/** * 用于表情的字符转换 * * @author HAILEI015 * */public class MessageStringFormatter { public static String EMOTICON_PC_PATH = "/assets/lib/kindeditor-4.1.10/plugins/emoticons/images"; public static String EMOTICON_MOBLIE_PATH = "/lib/kindeditor-4.1.10/plugins/emoticons/images"; public static String formatString(String str, String emotionPrefixPath) { //表情转换时 如果同时需要 过滤字符串,需要先过滤字符串再转化表情,要不然表情会显示不出来 if (StringUtils.isNotEmpty(str)) { String value = replaceAllStr(str, "\\[([0-9]\\d?|[1][0-3][0-9])\\]", ""); return value; } return null; } public static String replaceAllStr(String str, String regex, String newstr) { str = str.replaceAll(regex, newstr); return str; } public static void formartMapMessages(Listlist, String emotionPrefixPath) { // 转换表情 if ((list != null) && (list.size() > 0)) { for (MessageBoardDTO ms : list) { String value = ms.getMessage().toString(); ms.setMessage(MessageStringFormatter.formatString(value, emotionPrefixPath)); } } } public static void formartQuestionsAnswersMessages(List list, String emotionPrefixPath) { // 转换表情 if ((list != null) && (list.size() > 0)) { for (QuestionsAnswersDTO ms : list) { String value = ms.getAnswerContent().toString(); ms.setAnswerContent(MessageStringFormatter.formatString(value, emotionPrefixPath)); } } } /** 将表情转换成特定的图片路径 * @param message * 需要转换的表情 * @param emotionPrefixPath */ public static String faceConvertToImagePath(String message, String emotionPrefixPath) { return MessageStringFormatter.formatString(message, emotionPrefixPath); } public static void formartListMessages(List list, String emotionPrefixPath) { // 转换表情 if ((list != null) && (list.size() > 0)) { for (ResourceCommentDTO dto : list) { String value = dto.getMessage(); dto.setMessage(MessageStringFormatter.formatString(value, emotionPrefixPath)); } } } }