处理Emoji表情(unicode)

适用于Android 和 IOS

 /*** @brief 干掉emoji* @autho chenjinya@baidu.com* @param {String} $strText* @return {String} removeEmoji**/
static function escapeEmoji ($strText,$bool = false) {$preg =  '/\\\ud([8-9a-f][0-9a-z]{2})/i';if ($bool == true) {$boolPregRes = (preg_match($preg,json_encode($strText,true)));return $boolPregRes;} else {$strPregRes = (preg_replace($preg,'',json_encode($strText,true)));$strRet = json_decode($strPregRes,true);return $strRet;}}

原理:

PHP的正则无法解析 D800 之后的 unicode 字符
而一般的emoji都是在 D800到 D8FF 之间 (中文是:4E00-9FBF)

这样写

$preg = '/[\x{D800}-\x{D8FF}]+/iu';

是无效的。

所以只能通过json_encode转成unicode,再通过正则来处理Unicode字符,最后再转回普通字符串

处理Emoji表情(unicode)相关推荐

  1. PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码)

    在进行微信公众号开发者接入的时候,与用户的对话互动中,涉及到的文本信息不仅仅是文字那么简单,其中可能还会包含着各种表情字符,例如「emoji表情」. 百科:  Emoji 由于微信接口中对于emoji ...

  2. Emoji表情编解码库XXL-EMOJI

    2019独角兽企业重金招聘Python工程师标准>>> <Emoji表情编解码库XXL-EMOJI> 一.简介 1.1 概述 XXL-EMOJI 是一个灵活可扩展的Emo ...

  3. android 调出键盘表情_Android 显示输入法中的emoji表情以及String字符

    实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串 发送时将String字符串转换 ...

  4. android 表情字符串,Android 显示输入法中的emoji表情以及String字符串转码

    实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串 发送时将String字符串转换 ...

  5. php微信模版消息中发送emoji表情

    编码地址:QQ地带Emoji表情代码大全 下面方式请使用 Softbank编码,其他发都不行,另外需要转换格式 举例:U+E04A 转换为 \ue04a 方式一 public function uni ...

  6. 微信去除EMOJI表情

    方法是: 方法是:return json_decode(preg_replace("#(\\\ue[0-9a-f]{3}|\\\ud83e|\\\udd14)#ie", " ...

  7. Android 显示输入法中的emoji表情以及String字符串转码

    Android 显示输入法中的emoji表情以及String字符串转码 实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unic ...

  8. 【拓展】谈谈字符编码:Unicode编码与emoji表情编码

    " 开发过程中,字符编码是我们一定要掌握的知识.本文回顾ASCII标准,并介绍了Unicode和UTF-8.UTF-16方案间的关系,各自是如何存储的,最后介绍了Unicode中emoji表 ...

  9. 在Javascript 中的Base64加密,支持中文加密及emoji表情的unicode编码的base64加密

    转载高人分享的Base64加密. 解决了楼主在使用webscoket做web了聊天接口时出现的emoji表情的unicode编码的base64加密错误问题. (function(global) { ' ...

最新文章

  1. jQuery绑定事件的三种常见方式(bind、one、【change、click、keydown、hover】)
  2. 理解ASP.NET MVC Framework Action Filters(翻的)
  3. 【错误记录】Flutter 混合开发报错 ( Android 端与 Flutter 端 EventChannel 初始化顺序错误导致无法通信 | EventChannel 通信流程 )
  4. redis类型[string 、list 、 set 、sorted set 、hash]
  5. Cocos 实用渲染实战(一):高性价比的人物皮肤渲染
  6. Android—APT实践
  7. EditText 空指针问题
  8. linux ssh连接交换机_访问SMB交换机CLI使用SSH或远程登录
  9. JavaScript深度迭代遍历未知对象
  10. C++ 控制对象的创建方式和数量
  11. (html字体图片纯css插件)Font Awesome
  12. 游标需要手动关闭吗MySQL,【MySQL必知必会】使用游标
  13. 5G 智能融合城域网特点与组网方案
  14. Oracle SQL计算周
  15. 仿QQ聊天界面里边的相册(QQ相册)
  16. ★房贷计算器 APP
  17. odoo学习笔记(一)
  18. 贝叶斯网与链式法则的理解
  19. DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
  20. 给ubuntu18.04系统内核升级rt-patch补丁

热门文章

  1. 复数抽象数据类型及其四则运算 (c++)
  2. 前端(js/css/html)那些小的知识点,持续更新......
  3. WebInspect评估版试用第1天
  4. 由被WebInspect攻击引发的php header()使用问题
  5. 常规密码学加解密脚本(python)
  6. JAVA解析TDMS文件
  7. VM15安装MacOS10.15.1系统
  8. 计算机vb考试程序试题,2014中职计算机VB考试试题.doc
  9. http://www.atool.org/keytype.php#0-tsina-1-53371-397232819ff9a47a7b7e80a40613cfe1
  10. vb的学习笔记-if语句