前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php处理字符串中的Emoji

php处理字符串中的Emoji

原创
作者头像
MoLeft
发布2022-06-17 08:34:52
7930
发布2022-06-17 08:34:52
举报
文章被收录于专栏:用砖头敲代码

为什么要处理

有的人QQ名喜欢放两个emoji,然后在QQ登录之后,将nickname存到数据库的时候就会报错,这个时候我们就需要处理一下这个emoji了。

原理:emoji通常占4个字节,而中文的话是3个字节,我们可以从这里入手。

方法一

代码语言:php
复制
function removeEmoji($str){
    $str = preg_replace_callback('/./u',function (array $match) {
        return strlen($match[0])>=4?'':$match[0];
    },$str);
    return $str;
}

方法二

代码语言:php
复制
function removeEmoji($str){
    $str = preg_replace("/[\x{1F600}-\x{1F64F}\x{1F300}-\x{1F5FF}\x{1F680}-\x{1F6FF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}]/u","",$str);
    return $str;
}

最后的话

我比较喜欢第二种方法,毕竟省篇幅,正则表达式一行就解决了

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么要处理
  • 方法一
  • 方法二
  • 最后的话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档