为什么80%的码农都做不了架构师?>>>   

微信消息接口开发时,消息体包含emoji表情时,不考虑存储emoji表情,可使用preg_replace函数过滤替换,PHP如下:

...
$content=json_decode(preg_replace("#(\\\ud[0-9a-f]{3}|\\\u2(6|7)[0-9a-f]{2})#ie","",json_encode($content)));
...

PS:消息体里的基本表情代码前台可以用js匹配替换为表情图片显示

function rep_str(a){var b='<img src="biaoqing/',c='.png"/>';a=a.replace(/\/::\)/g,b+'0'+c);a=a.replace(/\/::~/g,b+'1'+c);a=a.replace(/\/::B/g,b+'2'+c);a=a.replace(/\/::\|/g,b+'3'+c);a=a.replace(/\/:8-\)/g,b+'4'+c);a=a.replace(/\/::</g,b+'5'+c);a=a.replace(/\/::&lt;/g,b+'5'+c);a=a.replace(/\/::\$/g,b+'6'+c);a=a.replace(/\/::X/g,b+'7'+c);a=a.replace(/\/::Z/g,b+'8'+c);a=a.replace(/\/::'\(/g,b+'9'+c);a=a.replace(/\/::\\'\(/g,b+'9'+c);a=a.replace(/\/::-\|/g,b+'10'+c);a=a.replace(/\/::@/g,b+'11'+c);a=a.replace(/\/::P/g,b+'12'+c);a=a.replace(/\/::D/g,b+'13'+c);a=a.replace(/\/::O/g,b+'14'+c);a=a.replace(/\/::\(/g,b+'15'+c);a=a.replace(/\/::\+/g,b+'16'+c);a=a.replace(/\/:--b/g,b+'17'+c);a=a.replace(/\/::Q/g,b+'18'+c);a=a.replace(/\/::T/g,b+'19'+c);a=a.replace(/\/:,@P/g,b+'20'+c);a=a.replace(/\/:,@-D/g,b+'21'+c);a=a.replace(/\/::d/g,b+'22'+c);a=a.replace(/\/:,@o/g,b+'23'+c);a=a.replace(/\/::g/g,b+'24'+c);a=a.replace(/\/:\|-\)/g,b+'25'+c);a=a.replace(/\/::!/g,b+'26'+c);a=a.replace(/\/::L/g,b+'27'+c);a=a.replace(/\/::>/g,b+'28'+c);a=a.replace(/\/::&gt;/g,b+'28'+c);a=a.replace(/\/::,@/g,b+'29'+c);a=a.replace(/\/:,@f/g,b+'30'+c);a=a.replace(/\/::-S/g,b+'31'+c);a=a.replace(/\/:\?/g,b+'32'+c);a=a.replace(/\/:,@x/g,b+'33'+c);a=a.replace(/\/:,@@/g,b+'34'+c);a=a.replace(/\/::8/g,b+'35'+c);a=a.replace(/\/:,@!/g,b+'36'+c);a=a.replace(/\/:!!!/g,b+'37'+c);a=a.replace(/\/:xx/g,b+'38'+c);a=a.replace(/\/:bye/g,b+'39'+c);a=a.replace(/\/:wipe/g,b+'40'+c);a=a.replace(/\/:dig/g,b+'41'+c);a=a.replace(/\/:handclap/g,b+'42'+c);a=a.replace(/\/:&-\(/g,b+'43'+c);a=a.replace(/\/:&amp;-\(/g,b+'43'+c);a=a.replace(/\/:B-\)/g,b+'44'+c);a=a.replace(/\/:<@/g,b+'45'+c);a=a.replace(/\/:&lt;@/g,b+'45'+c);a=a.replace(/\/:@>/g,b+'46'+c);a=a.replace(/\/:@&gt;/g,b+'46'+c);a=a.replace(/\/::-O/g,b+'47'+c);a=a.replace(/\/:>-\|/g,b+'48'+c);a=a.replace(/\/:&gt;-\|/g,b+'48'+c);a=a.replace(/\/:P-\(/g,b+'49'+c);a=a.replace(/\/::\\'\|/g,b+'50'+c);a=a.replace(/\/:X-\)/g,b+'51'+c);a=a.replace(/\/::\*/g,b+'52'+c);a=a.replace(/\/:@x/g,b+'53'+c);a=a.replace(/\/:8\*/g,b+'54'+c);a=a.replace(/\/:pd/g,b+'55'+c);a=a.replace(/\/:<W>/g,b+'56'+c);a=a.replace(/\/:&lt;W&gt;/g,b+'56'+c);a=a.replace(/\/:beer/g,b+'57'+c);a=a.replace(/\/:basketb/g,b+'58'+c);a=a.replace(/\/:oo/g,b+'59'+c);a=a.replace(/\/:coffee/g,b+'60'+c);a=a.replace(/\/:eat/g,b+'61'+c);a=a.replace(/\/:pig/g,b+'62'+c);a=a.replace(/\/:rose/g,b+'63'+c);a=a.replace(/\/:fade/g,b+'64'+c);a=a.replace(/\/:showlove/g,b+'65'+c);a=a.replace(/\/:heart/g,b+'66'+c);a=a.replace(/\/:break/g,b+'67'+c);a=a.replace(/\/:cake/g,b+'68'+c);a=a.replace(/\/:li/g,b+'69'+c);a=a.replace(/\/:bome/g,b+'70'+c);a=a.replace(/\/:kn/g,b+'71'+c);a=a.replace(/\/:footb/g,b+'72'+c);a=a.replace(/\/:ladybug/g,b+'73'+c);a=a.replace(/\/:shit/g,b+'74'+c);a=a.replace(/\/:moon/g,b+'75'+c);a=a.replace(/\/:sun/g,b+'76'+c);a=a.replace(/\/:gift/g,b+'77'+c);a=a.replace(/\/:hug/g,b+'78'+c);a=a.replace(/\/:strong/g,b+'79'+c);a=a.replace(/\/:weak/g,b+'80'+c);a=a.replace(/\/:share/g,b+'81'+c);a=a.replace(/\/:v/g,b+'82'+c);a=a.replace(/\/:@\)/g,b+'83'+c);a=a.replace(/\/:jj/g,b+'84'+c);a=a.replace(/\/:@@/g,b+'85'+c);a=a.replace(/\/:bad/g,b+'86'+c);a=a.replace(/\/:lvu/g,b+'87'+c);a=a.replace(/\/:no/g,b+'88'+c);a=a.replace(/\/:ok/g,b+'89'+c);a=a.replace(/\/:love/g,b+'90'+c);a=a.replace(/\/:<L>/g,b+'91'+c);a=a.replace(/\/:&lt;L&gt;/g,b+'91'+c);a=a.replace(/\/:jump/g,b+'92'+c);a=a.replace(/\/:shake/g,b+'93'+c);a=a.replace(/\/:<O>/g,b+'94'+c);a=a.replace(/\/:&lt;O&gt;/g,b+'91'+c);a=a.replace(/\/:circle/g,b+'95'+c);a=a.replace(/\/:kotow/g,b+'96'+c);a=a.replace(/\/:turn/g,b+'97'+c);a=a.replace(/\/:skip/g,b+'98'+c);a=a.replace(/\[挥手]/g,b+'99'+c);a=a.replace(/\/:oY/g,b+'99'+c);a=a.replace(/\/:#\-0/g,b+'100'+c);a=a.replace(/\[街舞]/g,b+'101'+c);a=a.replace(/\/:kiss/g,b+'102'+c);a=a.replace(/\/:<&/g,b+'103'+c);a=a.replace(/\/:&lt;&/g,b+'103'+c);a=a.replace(/\/:&>/g,b+'104'+c);a=a.replace(/\/:&&lt;/g,b+'104'+c);return a;}

------------------------------------------------------------------------------------------------------------

项目背景:活动微信留言墙

项目时间:2016-02

转载于:https://my.oschina.net/cdcc/blog/788953

emoji表情过滤处理相关推荐

  1. java emoji显示乱码_Java 解决Emoji表情过滤问题

    Emoji表情从三方数据中获取没有过滤,导致存入DB的时候报错. 原因: UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去 ...

  2. mysql 过滤emoji表情_MySQL中emoji表情过滤

    问题描述 最近在对线上排错过程中发现很多入库时产生的错误日志,表现形态如下 Incorrectstringvalue:'\xF0\x9F\x91\x8D\xE6\x94...'forcolumn'co ...

  3. php过滤微信昵称的emoji表情符号,emoji表情过滤处理

    微信消息接口开发时,消息体包含emoji表情时,不考虑存储emoji表情,可使用preg_replace函数过滤替换,PHP如下: ... $content=json_decode(preg_repl ...

  4. 微信公众平台昵称乱码emoji表情过滤

    问题描述 最近在对线上排错过程中发现很多入库时产生的错误日志,表现形态如下 Incorrect string value : '\xF0\x9F\x91\x8D\xE6\x94...' for col ...

  5. Emoji表情过滤-手机键盘emoji表情完全过滤

    这可是我按照emoji表情表格,一个一个找来的,希望能帮到你,累死我了. private Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud ...

  6. python emoji 表情过滤

    http://my.oschina.net/jiemachina/blog/189460 注意替换的这些emoji是标准的表情字符,每个表情本来是2个字节,替换成字符串后,每个表情就变成12个字符了, ...

  7. PHP过滤输入的emoji表情

    1.过滤emoji表情的原因 在我们的项目开发中,emoji表情是个麻烦的东西,即使我们可以能存储,也不一定能完美显示,因为它的更新速度很快:在iOS以外的平台上,例如PC或者android.如果你需 ...

  8. excel emoji php,PHP导出带有emoji表情的文本到excel文件出问题了

    前段时间做了一个导出用户信息(包含微信昵称)到excel文件的功能,一直没问题,今天突然有人反馈说导出来的数据有一些丢失了.我试了一下,发现有些数据导出没问题,有些有问题,某些列出现了空白,数据打印出 ...

  9. java emoji表情_java处理emoji表情的方法

    最近项目中遇到emoji表情存储的问题,后来就在网上搜了很多, 总结出两种方法进行处理: 1.通过正则匹配进行过滤,代码如下: //emoji表情过滤 public static String fil ...

最新文章

  1. SketchUp Pro 2021基础入门学习视频教程
  2. 这么多年,终于有人讲清楚Transformer了
  3. java按钮位置_java窗口按钮位置设置
  4. 图解weblogic安装
  5. PAT甲级1121 Damn Single :[C++题解]哈希表、结构体
  6. 查看库中所有表有多少数据
  7. shell / 获取当前工作目录的方法
  8. 【数据结构与算法】之深入解析“二叉树的序列化与反序列化”的求解思路与算法示例
  9. include详解 shell_socket实现基于tcp/ip的网络远程shell命令解析器(完善中...)
  10. 【渝粤题库】广东开放大学 质量管理 形成性考核 (2)
  11. kylin安装过程问题排查
  12. linux如何拷贝iphone文件夹,IPhone 手机如何和 Deepin 系统共享文件
  13. linux系统支持ntfs吗,linux支持NTFS
  14. arraylist java 排序_java的arraylist排序示例(arraylist用法)
  15. 智能电网调度技术支持系统建设方案
  16. Webduino Smart 从入门到起飞
  17. Blender快捷键大全
  18. 中超16强内援转会更新 陕西重金打造中国银河战舰
  19. Python数据分析及可视化-招聘网站岗位数据分析
  20. 华为开源平台harmonyos,华为开源平台上线 方舟编译器和鸿蒙系统开源

热门文章

  1. MySQL名字的年夜小写敏感性
  2. 如何使用links方式安装Eclipse插件
  3. 判断radio单选按钮是否选中
  4. JavaScript实现复选框的全选/全不选和批量选择
  5. MAC 设置$PATH 关闭terminal后就失效 解决方案
  6. Linux centOS 硬盘分区挂载
  7. mongodb 去重查询 Java,mongodb篇二:mongodb克隆远程数据库,去重查询的命令及对应java语句...
  8. python字典程序题_急!一道关于python字典的编程题!求思路!
  9. php环境苹果搭建,mac下搭建php环境
  10. mysql 事物隔离级别解读