emoji表情的替换如何处理好一点
如何处理emoji表情更好一点
现在前端框里面的表情用类似哭这样的符号代替
处理方式:
1.入库的时候,把表情替换成<img src="1.gif"> 读取时候方便,但是不利于后期维护
2.直接入库,读取的时候在后台处理。可能会浪费时间。
3.也是直接入库,读取完成后,丢到前端让js来替换。这个会使前端加载一个大的js数组
哪个更好呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
utf8mb4编码是支持emoji表情的。
1.mysql 5.6可以支持emoj表情了http://www.linuxde.net/2015/1...
2.MySQL其他版本的,可以使用urlencode转换或者以base64加密,缺点是增加了数据的长度,而且每次写入读取都要转换
毋庸置疑最后一种最优,原因只有一个兼容性;不同环境各自处理,比如:web、移动端。
几种办法
1.使用第三方API,比如新浪微博的表情API,这样不用你去费心
2,在后台输出的时候替换,像这种方法主要是照顾垃圾配置的电脑,你永远不要高看用户的电脑配置
3,前台替换,js正则替换成你第一种方法就行了,比如 [哈哈] 替换成<img src='哈哈.gif'/>
我是这么做的,用户输入的emoji会被js替换为
[emiji-<UTF8CODE>]
的形式,存到数据库里,显示的时候替换为<i class="emoji emoji-<UTF8CODE>"></i>
的形式,然后只需要维护一个超大的css文件就可以了,可以把emoji图片转换成雪碧图,这样后期的维护就更容易了。你可以参考emojione的实现
utf8mb4是可以直接保存转码的, 注意框架获取表单数据的方法一般都有过滤函数 一定要去掉 不然会取不到值的