PHP怎么处理字符中的emoji表情

  介绍

这篇文章主要介绍”PHP怎么处理字符中的emoji表情”,在日常操作中,相信很多人在PHP怎么处理字符中的emoji表情问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“PHP怎么处理字符中的emoji表情”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

utf - 8编码的emoji表情或者某些特殊字符占用4个字节.utf-8编码的常用中文字符占用3个字节。

三个PHP内置函数:

<强> mb_strlen

<节>
 mixed  mb_strlen  (, string  str 美元;[,string  encoding 美元;=,mb_internal_encoding(),),),//,返回具有,encoding 编码的字符串,str 包含的字符数。多字节的字符被计为,1.//,如果给定的,encoding 无效则返回,假
  

<强> mb_substr

<节>
 string  mb_substr  (, string  str 美元;,,int  start 美元;[,int  length 美元;=,NULL  [, string  encoding 美元;=,mb_internal_encoding(),]],),//,根据字符数执行一个多字节安全的,substr(),操作。位置是从,str 的开始位置进行计数。第一个字符的位置是,0。第二个字符的位置是,1.//,mb_substr(),函数根据,start 和,length 参数返回,str 中指定的部分。
  

<强> strlen

<节>
 int  strlen  (, string  string 美元)//,返回给定的字符串,string 的长度。
  

<强>判断字符串中是否含有emoji表情

函数如下:

<节>
 function  haveEmojiChar (str) {,,, mbLen 美元;=,mb_strlen (str);,,,,,,,, strArr 美元;=,[];,,,,for ($小姐:=,0;,美元小姐:& lt;, mbLen;美元,美元我+ +),{,,,,,,,美元strArr [],=, mb_substr (str美元,,我,,1,,& # 39;utf - 8 # 39;),,,,,,,,, if  (strlen ($ strArr [$ i]),在=,4),{,,,,,,,,,,,return ,真的,,,,,,,,,},,,,},,,,,,,,return 假;}
  

<强>移除字符串中的emoji表情

函数如下:

<节>
 function  removeEmojiChar (str) {,,, mbLen 美元;=,mb_strlen (str);,,,,,,,, strArr 美元;=,[];,,,,for ($小姐:=,0;,美元小姐:& lt;, mbLen;美元,美元我+ +),{,,,,,,,mbSubstr 美元;=,mb_substr (str美元,,我,,1,,& # 39;utf - 8 # 39;),,,,,,,,, if  (strlen (mbSubstr美元),祝辞=,4),{,,,,,,,,,,,还是,,,,,,,,,},,,,,,,,美元strArr [],=, mbSubstr美元;,,,,},,,,,,,,return 内爆(& # 39;& # 39;,,strArr美元);}
  

含有emoji表情的字符串在MySQL中的储存

MySQL中使用utf8mb4字符集。

PHP对字符串进行base64编码,从数据库中取出时再对字符串进行解码。

直接移除字符串中的emoji表情(该方法简单粗暴)

PHP怎么处理字符中的emoji表情