背景
移动设备经常会发生用户发送的内容中包含emoji表情,未经处理,在显示时就是乱码。
解决方案
1.数据库支持:将Mysql的编码从utf8转换成utf8mb4。
2.匹配出内容中的emoji表情做过滤或替换
/** * 表情转换 更新到ios9.2涵盖编码范围 * @param $str * @return mixed */ public static function emoji_to_html($str) { $regex = '/([0-9|#][\x{20E3}])|[\x{00ae}|\x{00a9}|\x{203C}|\x{2047}|\x{2048}|\x{2049}|\x{3030}|\x{303D}|\x{2139}|\x{2122}|\x{3297}|\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x{21FF}][\x{FE00}-\x{FEFF}]?|[\x{2300}-\x{23FF}][\x{FE00}-\x{FEFF}]?|[\x{2460}-\x{24FF}][\x{FE00}-\x{FEFF}]?|[\x{25A0}-\x{25FF}][\x{FE00}-\x{FEFF}]?|[\x{2600}-\x{27BF}][\x{FE00}-\x{FEFF}]?|[\x{2900}-\x{297F}][\x{FE00}-\x{FEFF}]?|[\x{2B00}-\x{2BF0}][\x{FE00}-\x{FEFF}]?|[\x{1F000}-\x{1F6FF}][\x{FE00}-\x{FEFF}]?|[\x{1F900}-\x{1F9FF}][\x{FE00}-\x{FEFF}]?/u'; $str = preg_replace_callback($regex,function($matches){ $str = json_encode($matches[0]); $str = '<em data-emoji="'" . str_replace></em>'; return $str; },$str); return $str; } 从数据库取出后再转回 $string = preg_replace_callback('/<em data-emoji='\"(.*?)\"'>/is', "self::preg_emoji", $string); /** * 输出emoji表情 * @param $matches * @return mixed */ public static function preg_emoji($matches) { $str = $matches[0]; $str = str_replace('em:', '\u', $str); return $str; }</em>3.直接过滤掉
/** * 过滤表情 * @param $str * @return mixed */ public static function filter_emoji($str) { $regex = '/(\\\u[ed][0-9a-f]{3})/i'; $str = json_encode($str); $str = preg_replace($regex, '', $str); return json_decode($str); }
以上就介绍了php emoji表情处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

1月26日消息,根据国外科技媒体emojipedia报道,苹果在今天发布的iOS17.4Beta1更新中,面向27个欧盟国家测试开放侧载、第三方应用商店等重大改进之外,还新增了多个Emoji表情符号。iOS17.4Beta1更新添加了包括凤凰、青柠、上下摇头的笑脸,一系列指明方向的人物表情符号,来自Unicode于2023年9月提出的Emoji15.1更新。附上完整Emoji如下:本次更新共计新增118个Emoji,包括6个全新Emoji,4个无性别区分的家庭Emoji。此外还有6个现有人物表情

emoji表情作为Win10教育版最新添加的输入法功能,很多可爱的表情让聊天不在枯燥,但是有的用户在使用快捷键的时候会弹出该界面,今天小编为大家带来Win10教育版关闭emoji方法介绍。Win10教育版怎么关闭emoji1、首先需要右击下方任务栏右侧的输入法。2、在弹出的选项框中选择设置,进入语言设置界面。3、选择界面中的“按键”选项并滚动到最底端,能够找到“打开表情及符号面板”,这里可以关闭emoji表情。4、如果还安装了其他输入法的话,可以从Windows设置进入“设置和语言”界面,随后选

华为emoji输入方法:1、华为手机自带了一个emoji表情键盘,可以在输入文字的时候切换到该键盘来输入emoji表情;2、在需要输入emoji的地方,长按输入框,然后选择“输入法设置”,在输入法设置中,可以找到并选择系统自带的emoji输入法;3、可以下载并使用第三方的emoji表情键盘,然后,可以在键盘上浏览并选择想要使用的emoji表情。

Apple 正式向公众推出iOS 15.4 及iPadOS 15.4 Beta 1,版本为19E5209h。这次官方的更新说明中列出众多改变,包括加入新功能。支持口罩 Face IDApple 在iOS 15.4 中加入了「口罩Face ID」,iPhone 会在用户戴口罩时通过辨识眼睛周围区域的独特特征来进行认证。留意,用户必须使用iPhone 12 或以上的型号iPhone 才可使用这项功能。加入112 个新Emoji 表情图示iOS 15.4 Beta 1 正式支持Emoji 14。当中加

1Unicode计算机存储的基本单位是字节,由8个比特位组成。由于英文只由26个字母加若干符号组成,因此英文字符可以直接用字节来保存。但是其他语言(例如中日韩等),由于字符众多,不得不使用多个字节来进行编码。随着计算机技术的传播,非拉丁文字符编码技术不断发展,但是仍然存在两个比较大的局限性:不支持多语言:一种语言的编码方案不能用于另外一种语言没有统一标准:例如中文就有GBK、GB2312、GB18030等多种编码标准由于编码方式不统一,开发人员就需要在不同编码之间来回转换,不可避免地会出现很多错

mysql emoji乱码的解决办法:1、通过“show create table test ENGINE=InnoDB DEFAULT CHARSET=utf8mb4”命令查看mysql表编码;2、通过“set names utf8mb4;”设置读取编码为“utf8mb4”即可。

__str__和__repr__有什么异同?字符串的表示形式我们都知道,Python的内置函数repr()能够把对象用字符串的形式表达出来,方便我们辨认。这就是“字符串表示形式”。repr()就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式的。如果没有实现__repr__,当我们在控制台里打印一个向量的实例时,得到的字符串可能会是。>>>classExample:pass>>>print(str(Example()))>>>

Apple向开发者推送iOS15.4Beta5及iPadOS15.4Beta5,估计这可能是最后Beta,下周很有可能会进入RC阶段,而正式版会在3月中之前登场。AirTag反追踪功能新版iOS15.4引进早前Apple宣布的AirTag、FindMy反追踪功能,现在已于Beta4中引进,分别在配对设计时加入警告讯息及调整「侦测出不明配件」的警告。Siri新语音选择对于美国用户来说,iOS15.4Beta4加入了第五款Siri语音(档名为Quinn),美国地


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver Mac version
Visual web development tools
