最近项目中用户反映发表文章文字保存不全,经过检查发现是emoji表情造成,在使用MySQL直接存储的时候 没有存进去,查找了发现这个方法,特意记录一下 (直接将emoji表情过滤掉 ; 也有时候需要保留emoji表情 , 那么就只能转义保存 , 取出来的时候 , 再转回来 , 类似于编码和解码!)

1.过滤emoji表情

/**

* 过滤特殊字符

* $str

**/

function filter($str){

if($str){

$name = $str;

$name = preg_replace('/\xEE[\x80-\xBF][\x80-\xBF]|\xEF[\x81-\x83][\x80-\xBF]/', '', $name);

$name = preg_replace('/xE0[x80-x9F][x80-xBF]‘.‘|xED[xA0-xBF][x80-xBF]/S','?', $name);

$return = @json_decode(preg_replace("#(\\\ud[0-9a-f]{3})#ie","",json_encode($name)));

}else{

$return = '';

}

return $return;

}

2.编码解码

function userTextEncode($str){

if(!is_string($str)) return $str;

if(!$str || $str=='undefined') return '';

$text = json_encode($str); //暴露出unicode

$text = preg_replace_callback("/(\\\u[2def][0-9a-f]{3})/i",function($str){

return addslashes($str[0]);

},$text); //将emoji的unicode留下,其他不动,这里的正则比原答案增加了d,因为我发现我很多emoji实际上是\ud开头的,反而暂时没发现有\ue开头。

return json_decode($text);

}

function userTextDecode($str){

$text = json_encode($str); //暴露出unicode

$text = preg_replace_callback('/\\\\\\\\/i',function($str){

return '\\';

},$text); //将两条斜杠变成一条,其他不动

return json_decode($text);

}

php 表情,PHP处理emoji表情相关推荐

  1. php保存emoji表情,php保存emoji表情

    最近一个朋友在调用微信接口的时候,获取到的数据保存到数据库失败了,原因是因为里面含有emoji表情,接下来吾爱编程为大家介绍一下关于php保存emoji表情的方法,有需要的小伙伴可以参考一下: 1.保 ...

  2. mysql处理emoji表情_Mysql处理emoji表情

    在实际开发过程中,涉及到向mysql数据表中insert tweet,很多情况下会报错: 1 org.hibernate.exception.GenericJDBCException: Could n ...

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

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

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

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

  5. html中加入emjio表情,html与emoji表情,

    html与emoji表情, 前言 做项目涉及表情在网页上显示.稍微研究了一下实现方案,整体思路不复杂,就是稍微涉及到一些新概念和新方法. 精灵图 精灵图又称雪碧图,简单来说就是一种把很多小图片拼成一张 ...

  6. android没有捂脸表情,微信新emoji表情安卓机怎么没有?微信新emoji表情安卓机没有怎么回事?...

    在最新版ios版微信中不少用户在聊天时发现了新emoji表情哟,但是安卓机最新版即没有发现,那么微信新emoji表情安卓机怎么没有?微信新emoji表情安卓机没有怎么回事?下面小编就给大家具体介绍下. ...

  7. android没有捂脸表情,微信新emoji表情有哪些 新emoji表情安卓机怎么没有

    微信新emoji表情全面上线,搞怪的表情让很多用户忍俊不禁,刚刚上线就受到大家的欢迎,还没有使用的小伙伴看这个,小编给大家详细的讲讲吧. 微信新emoji表情一览 继苹果在iOS10.2测试版本新增了 ...

  8. 如何在idea里git提交代码时,能有emoji表情图片?emoji表情大全给大家奉上

    前言 大家好,我是奇想派,一名努力分享,誓要成为编程达人的程序员. 有一天撸代码,然后git commit的时候,发现注释都太单调了,想让代码提交页面充满点表情色彩.于是乎就开始搜索idea插件里是否 ...

  9. mysql 苹果表情_mysql 插入emoji表情的时候报错问题。(苹果手机)

    一.问题现象 保存微信用户昵称到数据库,ios用户的昵称包含表情,插入数据库出错. 二.分析 使用JS过滤emoji表情的主要原因:input标签中输入emoji表情,提交表单后插入数据库报错. 原因 ...

  10. mysql emoji表情_Mysql支持emoji表情

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 支持 emoji 表情. 更多讨论或者错误提交,也请移步. 1. 前言 最近为博客添加了 ...

最新文章

  1. MySQL共享存储主备模式利用Keepalived实现双机高可用
  2. Struts流程分析+源码分析
  3. POJ 1276 ATM凑钱(动态规划)(未解答)
  4. ReferenceError: primordials is not defined
  5. 路飞学城django
  6. linux solr home 配置,关于tomcat6:如何在Linux OS中设置solr / home?
  7. mysql可以登陆sqlyog1862_MySQL错误号码1862:your password has expired
  8. WIN32:API串口通讯实例教程
  9. 机器学习 - [源码实现决策树小专题]决策树中混杂度数值度量的Python编程实现(信息熵和基尼系数的计算)
  10. 20172324 2018-2019-1 《程序设计与数据结构》第三周学习总结
  11. 【原创】Mac 工作协同之文件共享问题
  12. i7 9750h和i7 8750h参数对比差多少
  13. Mapper和dao
  14. 利用135端口快速入侵个人PC电脑
  15. MacOS安装brew安装git安装sdkman安装sbt
  16. 安装pyqt5时报错Preparing metadata (pyproject.toml) ... error
  17. flutter中地图定位
  18. 简易的Java版 eval()函数
  19. 基于BP神经网络改进的DSS工具箱盲源分离系统
  20. 【Stable Diffusion | AI 绘画】手把手教你体验--AI 生成唯美二次元

热门文章

  1. 广度优先遍历搜索的最通俗介绍,如何实现广度优先搜索算法?广度优先遍历搜索可用于哪些行业?
  2. 阅读软件怎么添加书源_【看书听书】两款神器软件,我已深深的为之折服了
  3. mac虚拟机搭建设置静态ip
  4. iNFTnews | 元宇宙浪潮下,企业正通过AR和VR技术改善客户体验
  5. “特殊疑问词+动词不定式”的用法归纳
  6. IDEA连接MySQL数据源配置和mybatis整合
  7. python 使用百度搜索推广API,获取账户基本信息
  8. Flume 数据采集
  9. win10 C盘扩大容量
  10. 2017先给自己定一个小目标,比方说先挣一个亿