在写项目的时候遇到这样一个问题,用户在发表评论和回复的时候,往往会将表情输入,然后展示出来却是一堆乱码,贼恶心,最后我写了一个php方法,对其进行了转化,废话不多说,我们直接看代码吧!

/**把用户输入的文本转义(主要针对特殊符号和emoji表情)*/public function userTextEncode($str){if(!is_string($str))return $str;if(!$str || $str=='undefined')return '';$text = json_encode($str); //暴露出unicode$text = preg_replace_callback("/(\\\u[ed][0-9a-f]{3})/i",function($str){return addslashes($str[0]);},$text); //将emoji的unicode留下,其他不动,这里的正则比原答案增加了d,因为我发现我很多emoji实际上是\ud开头的,反而暂时没发现有\ue开头。return json_decode($text);}/**解码上面的转义*/public function userTextDecode($str){$text = json_encode($str); //暴露出unicode$text = preg_replace_callback('/\\\\\\\\/i',function($str){return '\\';},$text); //将两条斜杠变成一条,其他不动return json_decode($text);}

php实现emoji表情包的数据库存储和展示相关推荐

  1. php mysql emoji_php实现emoji表情包的数据库存储和展示

    在写项目chinaobd2的时候遇到这样一个问题,用户在发表评论和回复的时候,往往会将表情输入,然后展示出来却是一堆乱码,贼恶心,最后我写了一个php方法,对其进行了转化,废话不多说,我们直接看代码吧 ...

  2. markdown中快速插入Emoji表情包语法速查表!!!

    markdown中快速插入Emoji表情包语法速查表!!!

  3. CSS雪碧图制作emoji表情包

    效果图: 原理:利用雪碧图,来实现emoji表情包,减少图片请求数. 表情包转换为文字 & 文字转换为表情包 维护两个对象来实现. 缺点:表情包大小由雪碧图中表情包大小控制,不能更改. htm ...

  4. Emoji-Chat emoji表情包发送及显示兼容web端、移动端

    Emoji-Chat emoji表情包发送及显示兼容web端.移动端 序言 在如今聊天表情包满天飞的当下,聊天过程中想发送个表情感慨一下情绪在所难免,当下我就遇到这么个需求,希望在web端聊天室中可以 ...

  5. js文本内去除emoji表情包

    利用正则匹配emoji表情包并且去除 let Arr=['emoji

  6. Java处理替换特殊emoji表情包问题

    方式一: 修改数据库编码为utf8mb4 当我们将数据库字符集设置为UTF-8的时候,是不能存储手机的那些Emoji表情的,因为那些Emoji表情占用了4个字节,而我们常用的utf8_general_ ...

  7. Mysql关于处理emoji表情包报错问题的处理

    mysql使用emoji表情的功能,在mysql 5.5 之前,UTF-8编码只支持1-3个字节:从MySQL 5.5开始,可以支持4个字节UTF编码 utf8mb4 ,一个字符能够支持更多的字符集, ...

  8. python pymysql emoji表情插入mysql数据库异常记录报错 pymysql.err.InternalError

    在数据库存储微信小程序用户昵称时候,发现用户昵称使用emoji表情时候就存不了数据库中间报错 pymysql.err.InternalError: (1366, "Incorrect str ...

  9. linux版微信 能发表情包的,仿微信在对话框文字中插入Emoji表情包

    场景 类似于微信聊天的一个对话框,要求可以使用EMOJI表情,对话框是一个div,通过改变contentEditable属性使得内容可以编辑. 问题 Emoji表情在页面中其实是GIF格式的IMG标签 ...

最新文章

  1. 26岁创造UNIX,退休后却成为一名飞行员,这位编程界大佬不走寻常路
  2. 雇佣最优秀的开发者?培养可能是更好的选择
  3. Python中元组的介绍以及常见操作
  4. 九十一、动态规划系列 背包问题之混合背包
  5. 基于VSM的命名实体识别、歧义消解和指代消解
  6. 在定时器中service注入不进去的解决方案
  7. Python进阶:并发编程之Asyncio
  8. 【图】二分图最大权匹配
  9. TF卡里删掉文件后内存没变大_为何手机存储空间还没用就快满了?删掉这些隐藏冗余文件满血复活...
  10. (一)Flask 学习 —— Hello World
  11. 计算机二级学科代码,二级学科分和代码表.doc
  12. 循环左移和循环右移指令_工业机器人课程:ABB知识点30:循环指令——WHILE
  13. jsp+eclipse图片显示不出来
  14. Android实战之 上传头像 和仿QQ空间、微博发表文字和图片
  15. 大数据可视化应用_在数据可视化中应用种族平等意识
  16. npm i --save 与 --save -dev的区别
  17. 0xffffffff是多少?
  18. 三款国产操作系统使用初步体验
  19. [租房]刚步入社会的小萌新,休想坑小妹妹,安排!
  20. 【原理图】电路中的VCC VDD VSS VEE GND含义 以及STM32电源

热门文章

  1. flink的map等常用api失效(记一次许久未写flink的坑)
  2. 互联网——常见英文缩写及其含义
  3. 如何读取蓝牙linkkeys值
  4. FastStone Capture——集截屏、滚动截图、录屏、图片编辑为一体轻量级截图软件
  5. Win11宽带连接错误651如何解决?
  6. Ajax创建步骤内含兼容
  7. 制作破壳而出的漂亮MM
  8. 破壳而出的琉璃之鸟汉化 QA
  9. 授权(mining.authorize)与 auth_stratum函数
  10. Kotlin - 改良策略模式