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 无效则返回 FALSE

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 ($i = 0; $i < $mbLen; $i++) {

$strArr[] = mb_substr($str, $i, 1, 'utf-8');

if (strlen($strArr[$i]) >= 4) {

return true;

}

}

return false;

}

移除字符串中的 emoji 表情

函数如下:

function removeEmojiChar($str)

{

$mbLen = mb_strlen($str);

$strArr = [];

for ($i = 0; $i < $mbLen; $i++) {

$mbSubstr = mb_substr($str, $i, 1, 'utf-8');

if (strlen($mbSubstr) >= 4) {

continue;

}

$strArr[] = $mbSubstr;

}

return implode('', $strArr);

}

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

MySQL 中使用 utf8mb4 字符集。

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

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

php emoji base64,PHP处理字符中的emoji表情相关推荐

  1. php emoji表情,PHP处理字符中的emoji表情

    业务场景,开发的小程序和APP需要类似朋友圈一样的功能,然后好多客户都需要发带emoji表情的文字 所以,这里说一下php如何处理字符中的emoji表情 utf-8 编码的 emoji 表情或者某些特 ...

  2. MySQL 字符串删除表情符_PHP处理字符中的emoji表情(判断/移除/存储)

    目录判断字符串中是否含有 emoji 表情 移除字符串中的 emoji 表情 含有 emoji 表情的字符串在 MySQL 中的储存 utf-8 编码的 emoji 表情或者某些特殊字符占用 4 个字 ...

  3. PHP处理字符中的emoji表情

    判断字符串中是否含有 emoji 表情 三个 PHP 内置函数: mb_strlen mixed mb_strlen ( string $str [, string $encoding = mb_in ...

  4. android判断字符中是否包含表情符

    public class EmojiFilter { /**      * 检测是否有emoji字符      * @param source      * @return FALSE,包含图片    ...

  5. php过滤微信昵称的emoj,移除微信昵称中的emoji字符

    移除微信昵称中的emoji字符: /** * 移除微信昵称中的emoji字符 * @param type $nickname * @return type */ function removeEmoj ...

  6. MySQL中关于emoji表情的存储(微信登录出现登录失败【由于微信昵称字符问题】)

    MySQL中关于emoji表情的存储(微信登录出现登录失败[由于微信昵称字符问题]) 问题描述 解决方法 闲谈 问题描述 今天网站遇到用户说登录失败,查看日志发现是微信登录自动生成用户时,用户创建失败 ...

  7. 移除微信昵称中的emoji字符

    可以使用正则表达式和 PHP 的 preg_replace 函数来移除微信昵称中的 emoji 字符.以下代码演示了如何实现: $nickname = "微信昵称

  8. PHP处理微信中带Emoji表情的消息发送和接收(Unicode字符转码编码)

    在进行微信公众号开发者接入的时候,与用户的对话互动中,涉及到的文本信息不仅仅是文字那么简单,其中可能还会包含着各种表情字符,例如「emoji表情」. 百科:  Emoji 由于微信接口中对于emoji ...

  9. php emoji 保存 显示,PHP开发中涉及到emoji表情的几种处理方法

    最近几个月做微信开发比较多,存储微信昵称必不可少 可这万恶的微信支持emoji表情做昵称,这就有点蛋疼了 一般Mysql表设计时,都是用UTF8字符集的.把带有emoji的昵称字段往里面insert一 ...

  10. Java实现简单的在聊天面板中显示emoji

    前言 之前在实现显示emoji的功能的时候一直尝试使用JTextArea这个组件,尝试了各种办法,实现起来实在太困难了,如果重写graphics paint方法用于绘制图片表情的话,跟随显示的消息文字 ...

最新文章

  1. 全血微量元素团标今起实施 李喜贵:两项标准填补国内外空白
  2. ”System.Configuration.ConfigurationSettings.AppSettings“ 已过时----解决方案
  3. js input点击事件_Vue.js的旅程,简单的todo实例「602」
  4. 数学--数论-多重集排列组合与母函数
  5. 角落的开发工具集之Vs(Visual Studio)2017插件推荐
  6. php 转发邮件,PHP Email();我不接收转发的电子邮件
  7. Linux比windows生态好,试装国产统一系统UOS:操作比Windows更简便,但生态依然是缺点,...
  8. 【渝粤教育】国家开放大学2018年春季 0063-21T中国现当代文学专题 参考试题
  9. 保存图片命令到指定路径_一招轻松合并文件——openall命令介绍
  10. 【手写数字识别】基于matlab GUI模板匹配手写数字识别【含Matlab源码 094期】
  11. 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
  12. MNN(二):借助Opencv实现MNN推理
  13. 打印机驱动无法安装到计算机是,打印机驱动无法安装、安装失败、安装不上的解决办法...
  14. 如何获取win10安装驱动
  15. javascript基础常识问答(六)
  16. 2012年最受欢迎低价优质美国虚拟主机TOP5
  17. SALSA:基于Hi-C辅助组装长读长组装结果
  18. 多线程(一)线程与进程、Thread
  19. Android aab的打包、调试、安装
  20. 【车载以太网】【架构】整体架构与协议标准

热门文章

  1. Apache JMeter使用教程
  2. VSCode下载安装教程(Windows 10)
  3. Java求100以内素数和
  4. 用puttygen转换腾讯云密匙找不到文件
  5. 站长常用的15个建站助手网站工具软件
  6. 通过JLINK下载程序(附JLINK驱动)
  7. Excel如何快速根据身份证号码计算周岁?
  8. pdf、epub、mobi、三种下载方式区别
  9. 【C】循环淘汰 (用结构体完成; 头文件不要加malloc.h 或 alloc.h)
  10. Docker-----Cgroup资源配置详细教程,图文并茂