搜尋

首頁  >  問答  >  主體

javascript - emoji表情的替换如何处理好一点

如何处理emoji表情更好一点

现在前端框里面的表情用类似哭这样的符号代替

处理方式:

1.入库的时候,把表情替换成<img src="1.gif"> 读取时候方便,但是不利于后期维护
2.直接入库,读取的时候在后台处理。可能会浪费时间。
3.也是直接入库,读取完成后,丢到前端让js来替换。这个会使前端加载一个大的js数组

哪个更好呢?

PHPzPHPz2791 天前793

全部回覆(6)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:00:42

    utf8mb4编码是支持emoji表情的。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-11 13:00:42

    1.mysql 5.6可以支持emoj表情了http://www.linuxde.net/2015/1...
    2.MySQL其他版本的,可以使用urlencode转换或者以base64加密,缺点是增加了数据的长度,而且每次写入读取都要转换

    回覆
    0
  • 黄舟

    黄舟2017-04-11 13:00:42

    毋庸置疑最后一种最优,原因只有一个兼容性;不同环境各自处理,比如:web、移动端。

    回覆
    0
  • 迷茫

    迷茫2017-04-11 13:00:42

    几种办法
    1.使用第三方API,比如新浪微博的表情API,这样不用你去费心
    2,在后台输出的时候替换,像这种方法主要是照顾垃圾配置的电脑,你永远不要高看用户的电脑配置
    3,前台替换,js正则替换成你第一种方法就行了,比如 [哈哈] 替换成<img src='哈哈.gif'/>

    回覆
    0
  • 黄舟

    黄舟2017-04-11 13:00:42

    我是这么做的,用户输入的emoji会被js替换为[emiji-<UTF8CODE>]的形式,存到数据库里,显示的时候替换为<i class="emoji emoji-<UTF8CODE>"></i>的形式,然后只需要维护一个超大的css文件就可以了,可以把emoji图片转换成雪碧图,这样后期的维护就更容易了。

    你可以参考emojione的实现

    回覆
    0
  • 高洛峰

    高洛峰2017-04-11 13:00:42

    utf8mb4是可以直接保存转码的, 注意框架获取表单数据的方法一般都有过滤函数 一定要去掉 不然会取不到值的

    回覆
    0
  • 取消回覆