php中处理emoji符号
数据库表是utf8编码的, 所以在存储emoji符号的时候,直接报错,可使用以下方法:
http://stackoverflow.com/questions/12807176/php-writing-a-simple-removeemoji-function#
有时候这种方法不行,可以使用以下方法
/** 把用户输入的文本转义(主要针对特殊符号和emoji表情) */ 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); } /** 解码上面的转义 */ function userTextDecode($str){ $text = json_encode($str); //暴露出unicode $text = preg_replace_callback('/\\\\\\\\/i',function($str){ return '\\'; },$text); //将两条斜杠变成一条,其他不动 return json_decode($text); }
当然你也可以直接将emoji之类的字符直接过滤掉,存储到数据库中。只需要将 "return addslashes($str[0]); “修改为 reuturn ''即可.
参考:https://segmentfault.com/q/1010000003711491
(资源库 www.zyku.net)
上一篇:php取得当前时间函数
栏 目:PHP教程
下一篇:使用PHP的ProtoBuf扩展
本文标题:php中处理emoji符号
本文地址:https://www.zyku.net/php/1176.html
您可能感兴趣的文章
- 08-09织梦去除当前位置position导航中最后“>”符号的方法
- 07-28Markdown的常用标签符号以及语法规则
- 03-07Sublime text 3双击无法选择$符号的解决方法
- 03-03WordPress禁止将英文半角符号转换成全角符号
- 02-22DedeCMS面包屑导航“当前位置”中去掉最后一个符号的
- 12-27HTML网页特殊符号代码大全
- 01-09智能门金管家-智能门金管家应用软件功
- 01-12中西医结合助理-中西医结合助理应用软
- 12-31创豆连线编程-创豆连线编程应用软件功
- 09-26帝国cms怎样修改列表分页函数
- 02-05华为nova8pro设置指纹解锁教程
- 02-20IIS7.0设置404错误页,返回500状态码
- 10-26iphone13横屏怎样切换
- 09-19网易云音乐怎么关闭云村入口
- 07-05Linux reboot命令
- 01-18言色-言色应用软件功能介绍
- 01-12动画图片-动画图片应用软件功能介绍
- 12-03高德地图停车雷达功能使用方法介绍
- 03-04wordpress写入cookie记录访客行为
- 01-08i武当-i武当应用软件功能介绍
最近更新
阅读排行
猜你喜欢
- 01-12朗文家-朗文家应用软件功能介绍
- 01-23MySql数据库表类型MYISAM与InnoDB的区
- 08-15华为手机怎么查看停车位置
- 05-09Linux 判断文件修改时间和系统时间差
- 09-24华为手机音量键无法控制媒体音量怎么
- 09-17经纬度转详细地址几种方式
- 01-25如何在向量化NumPy数组上进行移动窗口
- 01-12超越WiFi-超越WiFi应用软件功能介绍
- 07-07CentOS 7 配置定时任务
- 02-14华为手机流量管理监控提醒设置教程