处理Emoji表情(unicode)
处理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)相关推荐
- PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码)
在进行微信公众号开发者接入的时候,与用户的对话互动中,涉及到的文本信息不仅仅是文字那么简单,其中可能还会包含着各种表情字符,例如「emoji表情」. 百科: Emoji 由于微信接口中对于emoji ...
- Emoji表情编解码库XXL-EMOJI
2019独角兽企业重金招聘Python工程师标准>>> <Emoji表情编解码库XXL-EMOJI> 一.简介 1.1 概述 XXL-EMOJI 是一个灵活可扩展的Emo ...
- android 调出键盘表情_Android 显示输入法中的emoji表情以及String字符
实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串 发送时将String字符串转换 ...
- android 表情字符串,Android 显示输入法中的emoji表情以及String字符串转码
实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unicode编码字符串转化为String字符串 发送时将String字符串转换 ...
- php微信模版消息中发送emoji表情
编码地址:QQ地带Emoji表情代码大全 下面方式请使用 Softbank编码,其他发都不行,另外需要转换格式 举例:U+E04A 转换为 \ue04a 方式一 public function uni ...
- 微信去除EMOJI表情
方法是: 方法是:return json_decode(preg_replace("#(\\\ue[0-9a-f]{3}|\\\ud83e|\\\udd14)#ie", " ...
- Android 显示输入法中的emoji表情以及String字符串转码
Android 显示输入法中的emoji表情以及String字符串转码 实现用原生键盘输入表情并显示,有两种办法: 发送时将String字符串转换为Unicode编码字符串,显示接收的列表时用Unic ...
- 【拓展】谈谈字符编码:Unicode编码与emoji表情编码
" 开发过程中,字符编码是我们一定要掌握的知识.本文回顾ASCII标准,并介绍了Unicode和UTF-8.UTF-16方案间的关系,各自是如何存储的,最后介绍了Unicode中emoji表 ...
- 在Javascript 中的Base64加密,支持中文加密及emoji表情的unicode编码的base64加密
转载高人分享的Base64加密. 解决了楼主在使用webscoket做web了聊天接口时出现的emoji表情的unicode编码的base64加密错误问题. (function(global) { ' ...
最新文章
- jQuery绑定事件的三种常见方式(bind、one、【change、click、keydown、hover】)
- 理解ASP.NET MVC Framework Action Filters(翻的)
- 【错误记录】Flutter 混合开发报错 ( Android 端与 Flutter 端 EventChannel 初始化顺序错误导致无法通信 | EventChannel 通信流程 )
- redis类型[string 、list 、 set 、sorted set 、hash]
- Cocos 实用渲染实战(一):高性价比的人物皮肤渲染
- Android—APT实践
- EditText 空指针问题
- linux ssh连接交换机_访问SMB交换机CLI使用SSH或远程登录
- JavaScript深度迭代遍历未知对象
- C++ 控制对象的创建方式和数量
- (html字体图片纯css插件)Font Awesome
- 游标需要手动关闭吗MySQL,【MySQL必知必会】使用游标
- 5G 智能融合城域网特点与组网方案
- Oracle SQL计算周
- 仿QQ聊天界面里边的相册(QQ相册)
- ★房贷计算器 APP
- odoo学习笔记(一)
- 贝叶斯网与链式法则的理解
- DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
- 给ubuntu18.04系统内核升级rt-patch补丁
热门文章
- 复数抽象数据类型及其四则运算 (c++)
- 前端(js/css/html)那些小的知识点,持续更新......
- WebInspect评估版试用第1天
- 由被WebInspect攻击引发的php header()使用问题
- 常规密码学加解密脚本(python)
- JAVA解析TDMS文件
- VM15安装MacOS10.15.1系统
- 计算机vb考试程序试题,2014中职计算机VB考试试题.doc
- http://www.atool.org/keytype.php#0-tsina-1-53371-397232819ff9a47a7b7e80a40613cfe1
- vb的学习笔记-if语句