oldDom= "哈哈哈[開(kāi)心]nr是的呢"
//注意 必須新創(chuàng)建一個(gè)變量進(jìn)行分割
//先把字符串中的n換行 替換成<BR>
const newDom = oldDom.replace(/n/g,"<BR>");
//下面就開(kāi)始匹配字符串中 <BR>換行 和 [.*]表情
let newDom2 = newDom.split(/(<BR>+)|[([^]]+)]/g).map((s)=>this.getEmojiDom(s))
/**
     * 替換字符串中的換行和表情
     */
    getEmojiDom = (textName)=>{
        // 如果字符串是換行符的話直接返回br標(biāo)簽
        if(textName === '<BR>') return <br />
        let s = '';//初始化一個(gè)變量
        //emojiArr 是我的表情數(shù)組
        emojiArr.map((item,key)=>{
            //判斷當(dāng)前的字符串是否 和 我數(shù)組中的表情key一致 如果一致的話就 創(chuàng)建 img標(biāo)簽 并且把表情圖片地址 賦值給img
            if(item.textName === `[${textName}]`){
                s =  <img key={`${item.textName}-${key}-${Number.parseInt(new Date().getTime())}`} style={{width:'20px',height:'20px'}} src={`https://img.fendoug.com/Im/Expression/emoji/${item.urlName}@2x.${item.extension}`} />
            }
        })
        //判斷如果匹配到了 表情則 返回表情的dom 否則 直接返回字符串
        return s==='' ? textName : s
     }