h5(即浏览器客户端,使用js)环境下,emoji表情图片转unicode编码怎么实现
编码环境:vue-cli,emoji
背景:unicode转图片已实现,表情图片的名称本身就是该表情的unicode码有关(有现成方法通过表情的utf8码找到对应的图片名称),有一个对应的类似数据字典文件config.js,关键内容大体如下:
config:[
{
imgNum: 1,
text: '哈哈',
unicode: '?'
},
{
imgNum: 2,
text: '大笑',
unicode: '?'
},
...
生成的表情html图片字符串已实现,例如
let str = '测试啊<img width="18" class="emoji" src="../../../assets/images/emoji/1f604.png">测试<img width="18" class="emoji" src="../../../assets/images/emoji/1f603.png"><img width="18" class="emoji" src="../../../assets/images/emoji/1f603.png">测试';
具体问题:怎样将上面的html字符串转换成:'测试啊?测试??测试',以方便发给后台处理,我需要一个方法完成这就事情,但是js功力不是很强,不知道怎么写的好
注:由于需要处理的字符串内容不是确定的,也就是不确定会有多少表情,表情在字符串的什么地方,可以的话请大神提供一个类似示例处理,我主要不清楚这部分逻辑该具体怎样写js
个人想法:我的处理思路是一是扩充前面的那个数据字典,比如对象里面新增图片名称字段,以方便找到img对应的utf8码,接上来可能是通过正则遍历、拆分、拼凑字符串,达到我的想要的结果,如果有更好的思路也欢迎大神多多指教。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
还是自己想出了办法,这里的关键有两点:
1.渲染表情html代码的时候,每个表情图片的alt的属性值放入对应的config里面的text属性值,形成如下所示代码:
然后将该字符串的img字符串替换为表情字符,代码如下: